A290: C++

TR 17:45 - 19:00, 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 29 10:57:00 2009)

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.

Office hours for 26 March will be from 1:00 PM to 2:45 PM. Please make a note of this.

Date Topic
Readings
Assignment
Week 0

Tuesday
03/10

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

Thursday
03/12

Functions Sections 4.2, 4.4-4.6
Example from class
Week 0
Doxygen generated documentation: PDF, html
Week 1

Tuesday
03/17

No class, spring break

Thursday
03/19

No class, spring break
Week 1

Tuesday
03/24

Different calling mechanisms Chapter 5

Thursday
03/26

Streams and I/O Chapter 6
Code from class
Week 1
Week 2

Tuesday
03/31

Strings and vectors Chapter 8
Code from class

Thursday
04/02

Defining Classes Chapter 10
Code from class
Week 2
Week 3

Tuesday
04/07

Friends and overloading operators Chapter 11
Code from class

Thursday
04/09

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

Tuesday
04/14

Inheritance Sections 15.1, 15.2
Inheritance example

Thursday
04/16

Polymorphism Section 15.3 Week 4
Week 5

Tuesday
04/21

Templates Chapter 17
Template example
Week 6

Thursday
04/23

Exceptions Chapter 16 Week 6
Week 6

Tuesday
04/28

STL Concepts, Boost boost string example Final Lab

Thursday
04/30

Qt
Week 7

Tuesday
05/05

No class, finals week

Thursday
05/07

No class, finals week

D. Kevin McGrath
Last modified: Thu Aug 27 20:35:28 2009