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 Apr 23 11:34:59 2008)
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.
NB: we are back to match this schedule.
| 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 | Week 0 | |
| Week 1 | ||||
Monday | No class, spring break | |||
Wednesday | No class, spring break | |||
| Week 1 | ||||
Monday | Different calling mechanisms | Chapter 5 | ||
Wednesday | Recursion | Chapter 14 Code from class |
Week 1 | |
| Week 2 | ||||
Monday | Strings and vectors | Chapter 8 Code from class |
||
Wednesday | Defining Classes | Chapter 10 Code from class |
Week 2 | |
| Week 3 | ||||
Monday | Friends and overloading operators | Chapter 11 | ||
Wednesday | Compilation and namespaces | Chapter 12 complex class header file complex class implementation file Driver file to test some of the functions |
Week 3 | |
| Week 4 | ||||
Monday | Inheritance | Sections 15.1, 15.2 | ||
Wednesday | Polymorphism | Section 15.3 | ||
| Week 5 | ||||
Monday | No Class | |||
Wednesday | No Class | |||
| Week 6 | ||||
Monday | Templates | Chapter 17, 18 Class template example |
Week 6 | |
Wednesday | Boost libraries and STL concepts | |||
| Week 7 | ||||
Monday | No class, finals week | |||
Wednesday | No class, finals week | |||