20 ECES 122: Computer Science 2 --- Syllabus

Instructor: Fred Annexstein
Office: 889 Rhodes (Office Hours: TBA)
Phone: 556-1807
Email: fred.annexstein@uc.edu
Web: http://www.ececs.uc.edu/~annexste

Web: Information on this course will be posted on my web homepage for the course. You should regularly look at my homepage for annoucements, updated syllabus, homework assignments, etc. My CS2 course homepage address is:

http://www.ececs.uc.edu/~annexste/Courses/cs2

Description: Programming for CS 121 and 122 is an introductory sequence intended for computer science students. Major concerns include: 1. Modern programming methodology, and learning to design and code clear, concise programs for relatively complicated problems; 2. Basic abstractions and concepts of computer science and; 3. The C++ language.

Grading (approx): Homework will count 40% and Tests (2 Tests & Final) 60%.

Homework Policy: 5 programming assignments will be given this quarter. We count the top 4. If you miss a program do to illness, family emergency or any other reason, then you will be graded on the remaining 4 programs. If you miss more than 2 programs due to illness, you will need to provide a note from a doctor.

Students may discuss problems together, but must submit their own work. Copying is strictly forbidden. When evaluating your programs there will be a 50% penalty if the program does not compile.

All programs will be electronically submitted to TA (do not submit to Prof. Annexstein). Late homework will be accepted up until the class following the due date with a 15% late penalty.

Required Textbook: Cohoon and Davidson, C++ Program Design: An Introduction to Programming and Object-Oriented Design, McGraw-Hill

Supplementary Textbook: Deitel and Deitel, C++ How to Program, 2nd Ed., Prentice Hall (on reserve in the engineering library).

Platform: unix, gnu C++

Schedule: (approximate, SUBJECT TO CHANGE)

WeekClass MaterialReading
1Review of Classes and Objects, Unix Platform, Abstract Data TypesChapter 9
2 Information Hiding, Encapsulation, Operator OverloadingChapter 9
3Arrays and Containers, StringsChapter 10
4Searching and Sorting, Chapter 10
5Test 1, Event-based Programming, EZ-WindowsChapter 11
6 PointersChapter 12
7Dynamic Data TypesChapter 13
8Inheritance, Test 2Chapter 14
9Templates and PolymorphismChapter 15
10Software EngineeringChapter 16
11FINAL Review