Introduction, Administrivia,
Philosophy, Overview
Basic syntax of C++,
Contrast with Scheme
Keywords, reserved words, literals
Basic datatypes
Basic expressions, variables
Statements and declarations
Static typing versus dynamic typing
Casting and coercion
Expressions in more detail
Arithmetic expressions
Logical expressions
Procedure definition and invocation
Finish up procedure call/invocation model
Introduction to development environments
UNIX command line tools
Visual C++ 6.0
Cygwin
Homework 1 out.<=
span
style=3D'font-size:10.0pt;font-family:Arial'>
Sequencing
Conditionals
if
switch
Iteration
do/while
while
for
Discussion section
C++ basics and Homework 1 related exercises
(1890 Maple CS lab?)
Introduction to arrays and pointers
Reference variables
Good programming style
More pointers
Old style C strings
String standard library
Pointers to functions
Homework 1 due
Homework 2 out (2 weeks)
No class meeting, MLK Holiday
Discussion, array and pointer exercises
Homework 1 back, solutions discussed
Homework 2 questions
Introduction to structures
Dynamic memory allocation
Structures and pointers
Introduction to classes
Encapsulation
Construction
Declaration
Member/instance variables
Member functions/methods
Instance creation
Discussion,
Pointer, structure, & dynamic memory allocation
exercises
More on classes
Details of member functions, instance variable scoping
More on classes
Classes and arrays
Dynamic allocation of class instances
Homework 2 due
Homework 3 out, 2 weeks
Wrap up class mechanism basics
Discussion, Quiz 1 prep
Quiz 1, in class
Quiz 1 back, solution discussion
Breaking encapsulation
Friend classes
Friend functions
Introduction to operator overloading
Discussion
Homework 4 related exercises
More operator overloading
Intro to C++ stream I/O
Complete C++ I/O streams
Homework 3 due
Homework 4 out (due 2 weeks)
Introduction to inheritance
Discussion
Exercises related to inheritance basics
More inheritance
Polymorphism
More polymorphism
Discussion
More inheritance and polymorphism related exercises
Putting it all together: details of a C++ string class
Putting it all together: details of a C++ string class
Homework 4 due
Homework 5 out
Introduction to templates
Template functions
Discussion
Template related exercises
More template programming
Template classes
Template wrap-up
Elements of good programming
Elements of good programming
Discussion
Review for final exam, related exercises
Elements of good programming
Wrap up, The Road Ahead, The Rest of Computer Science
Homework 5 due
50% 5 Programming labs
15% 5 Written homeworks
15% Midterm examination
20% Final examination
10% off / 90% max, first 24 hours
20% off / 80% max, second 24 hours
40% off / 60% max, third 24 hours
No credit after 3 days
Math laboratory
Basic syntax
statements
expressions
conditionals
iteration.
Arithmetic computations
Integer arithmetic
Floating point
Procedure definition and invoc=
ation.
C++ procedure call model
Recursive versus iterative procedures
Cellular automata laboratory
Arrays
1 dimensional
2 dimensional
Pointers
Pointer creation and initialization
Dangling pointers
Pointer arithmetic
Pointer/array duality
Structures
Structure declaration
Structure initialization
Card laboratory
Basic classes
Class declaration
Instance creation
Constructors/Destructors
Dynamic memory management
New/Delete
Pointer linked data structures
Creation and initialization
Traversal
Destruction
Graph laboratory
More pointer linked data structures
More dynamic memory allocation
Basic inheritance
Structural reuse
Behavioral reuse
Operator overloading
Standalone procedures
Member functions
C++ stream I/O
Final project
Winamp visualization plug-in lab or
Virtual Machine lab
Deeper inheritance
Polymorphism
Operator overloading of class methods