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)
Week | Class Material | Reading |
1 | Review of Classes and Objects, Unix Platform, Abstract Data Types | Chapter 9 |
2 | Information Hiding, Encapsulation, Operator Overloading | Chapter 9 |
3 | Arrays and Containers, Strings | Chapter 10 |
4 | Searching and Sorting, | Chapter 10 |
5 | Test 1, Event-based Programming, EZ-Windows | Chapter 11 |
6 | Pointers | Chapter 12 |
7 | Dynamic Data Types | Chapter 13 |
8 | Inheritance, Test 2 | Chapter 14 |
9 | Templates and Polymorphism | Chapter 15 |
10 | Software Engineering | Chapter 16 |
11 | FINAL | Review |