This course is designed to cover standard imperative and object oriented programming in C++. This will include designing custom data types, using custom data types and predefined objects. We will discuss the differences between C and C++ as appropriate, and make use of C++ syntax and libraries.
The STL will be used extensively in this course, and will be a major point of discussion throughout the semester. While the STL is not a topic in and of itself until the end of the quarter, that is more for advanced topics. The STL will be used in basic form throughout the semester.
It is assumed that a basic C knowledge is had by all students in the class. This includes syntax, flow control constructs, basic function usage, and pointers.
If you feel that your background in C is insufficient, Chapter 2, Chapter 3, and the first half of Chapter 4 in the text should catch you up to where you need to be, except for pointers. We will deal with pointers as needed in this class.
(Last updated: Wed Dec 5 07:40:28 2007)
This schedule will be revised throughout the semester, so check back frequently! Also, keep in mind that the schedule is open to change. If we need to spend more time on a topic, we will.
All homework and readings will be posted on this schedule, complete with due dates. Readings posted on a given class day are expected to be read by that class day! All labs will be posted here as well. Supplementary material will be posted here, but will also be given a link at the top of the page.
| Date | Topic | Readings |
Assignment |
|
|---|---|---|---|---|
| Week 0 | ||||
Monday | Differences between C and C++ | C example from class C++ example from class |
||
Wednesday | Functions | Section 4.6 | Assignment 0 | |
| Week 1 | ||||
Monday | Different calling mechanisms | Chapter 5 | ||
Wednesday | Recursion | Chapter 14 | Assignment 1 | |
| Week 2 | ||||
Monday | Strings and vectors | Chapter 8 | ||
Wednesday | Defining Classes | Chapter 10 | Assignment 2 | |
| Week 3 | ||||
Monday | Friends and overloading operators | Chapter 11 | ||
Wednesday | Compilation and namespaces | Chapter 12 Incomplete complex class header file Driver file to test some of the functions |
Assignment 3 | |
| Week 4 | ||||
Monday | Inheritance | Sections 15.1, 15.2 | ||
Wednesday | No Class, Thanksgiving | |||
| Week 5 | ||||
Monday | Polymorphism | Section 15.3 | ||
Wednesday | Templates | Chapter 17 Function template example Tester |
Assignment 4 | |
| Week 6 | ||||
Monday | Class templates | Class template example | ||
Wednesday | Boost libraries | |||
| Week 7 | ||||
Monday | ||||
Wednesday | ||||