Instructor
Aspen Olmsted
Course website : https://blogs.cofc.edu/olmsteda
Tel: 843.953.6600
Email: Please use olmsteda@cofc.edu 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
Catalog description
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.
Course Outcomes
- 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.
- Lists:
- 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.
- Recursion
- Trace
- Develop
Professor Assumptions
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.
Required text
Objects First with Java: A Practical Introduction Using BlueJ (5th Edition), 2012 Retail Price $110.99.
Grading scale
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)
Evaluation schedule
25% Final Exam
15% Midterm Exam
20% Programming Assignments & Problem Sets
20% Lessons
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.
Midterm Exam
We will have a midterm exam on 6/4 that covers Chapters 1-4 plus extra lecture material (UML, Software Development Process, Recursion)
Final Exam
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)
Programming Project
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
Classroom disruption
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.
Disabilities
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.