A290: C++

MW 18:00 - 19:10, LH 115

Instructor: D. Kevin McGrath

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.

Office Hours:

Helpful Links:


Schedule:

(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
03/03

Differences between C and C++ C example from class
C++ example from class

Wednesday
03/05

Functions Section 4.6 Week 0
Week 1

Monday
03/10

No class, spring break

Wednesday
03/12

No class, spring break
Week 1

Monday
03/17

Different calling mechanisms Chapter 5

Wednesday
03/19

Recursion Chapter 14
Code from class
Week 1
Week 2

Monday
03/24

Strings and vectors Chapter 8
Code from class

Wednesday
03/26

Defining Classes Chapter 10
Code from class
Week 2
Week 3

Monday
03/31

Friends and overloading operators Chapter 11

Wednesday
04/02

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
04/07

Inheritance Sections 15.1, 15.2

Wednesday
04/09

Polymorphism Section 15.3
Week 5

Monday
04/14

No Class

Wednesday
04/16

No Class
Week 6

Monday
04/21

Templates Chapter 17, 18
Class template example
Week 6

Wednesday
04/23

Boost libraries and STL concepts
Week 7

Monday
04/28

No class, finals week

Wednesday
04/30

No class, finals week

D. Kevin McGrath
Last modified: Sun Mar 23 02:55:29 2008