Course website : http://blogs.cofc.edu/olmsteda
Email: Please use firstname.lastname@example.org with Subject = CSCI221
Office: Harbor Walk East 315
Office hours: Via Email
Class place and time
Classroom: Harbor Walk East 334
TR 5:30- 8:45 PM
CSCI 221 Computer Programming II This course further develops object-oriented programming introduced in CSCI 220. Topics include file input/output, inheritance and polymorphism, exceptions, error handling, and algorithm analysis. Data structures include lists, stacks, and queues. Algorithms include searching and sorting. Prerequisites: CSCI 220 and CSCI 222. Prerequisite or Co-requisite: MATH 207.
- Classify the activities of the software development process into its component parts.
- Apply the components of the software development process in developing software solutions to problems.
- Apply lists implemented as arrays, ArrayLists and other Java Collections classes.
- Develop algorithms to compute the min/max or sum of lists of numerical values stored in.
- Develop algorithms to search for needed values, and insert records in some order.
- Apply classes in program development including object instantiation, system drivers, constructors, method types (mutators, accessors, predicates, toString, finalizer), static versus nonstatic methods/variables, access qualifiers, garbage collection, use of the this reference.
- Develop well-designed methods.
- Apply class relationships including dependency, aggregation, and inheritance and illustrate such relationships using UML diagrams.
- Apply polymorphism through inheritance and interfaces in problem solving and program development.
- Develop well-designed classes.
- Apply exceptions in program development.
I am assuming because you are in this class you want to learn about object-oriented programming. Therefore, it is my job to use the 40 hour long classes and 80 hours of outside work to get you there.
Objects First with Java: A Practical Introduction Using BlueJ (5th Edition), 2012 Retail Price $110.99.
100-92 (A); 91-89 (A-); 88-86 (B+); 85-82 (B); 81-79 (B-); 78-76 (C+); 75-72 (C); 71-69 (C-); 68-62 (D); else (F)
25% Final Exam
15% Midterm Exam
20% Programming Assignments & Problem Sets
20% Programming Project
Programming Assignments & Problem Sets
Udacity has 9 problem sets. For each or the 9 problem sets there will be a dropbox entry in Oaks. You must perform both the draft problem set and the final set to receive full credit. Upload a copy of your progress page (as an image) showing the percentage complete on the section.
We will have a midterm exam on 6/4 that covers Chapters 1-4 plus extra lecture material (UML, Software Development Process, Recursion)
We will have one comprehensive exam on 6/25 that covers Chapters 1- 12 plus extra lecture material (UML, Software Development Process, Recursion, Exceptions, Sorting, Searching, File IO)
Each student will choose a semester long project consisting of 7-12 classes. You will be
required to implement this project over the semester and present 3 times:
– 1st Presentation (3 Minutes) – Show the class your class model design and implementation
– 2nd Presentation (3 Minutes) – Show the class your implementation with console IO
– Final Presentation (8 Minutes) – Show the class your GUI/Web Implementation
Your project will need to receive input of the data for your classes and persist the data to disk so it can be read back on the next execution of your application
Please read the College of Charlestons Student Code of Conduct. When you come to class please turn off your cell phones and all other electronic communication devices. I do encourage discussion so if you have a question do not hold back from interrupting me if you are afraid I have moved on. If it is something I will talk about a little later, I will note it on the board so we do not forget.
If you have a documented disability and are approved to receive accommodations through SNAP Services, please contact me.
Student Honor Code
I expect you to abide by the Honor Code and the Student Handbook: A Guide to Civil and Honorable Conduct. If you have a question about how to interpret the Honor Code, ask before acting! I encourage collaboration, but you must document it. Thus, each student will submit their own homework and, when collaborating, provide a reference to those people and documents consulted.