Class # 

Date 
Lectures 
Labs 
Topic 
Assignment 
1 

Tu 1/27 
Lecture 1 
Lab 1 
Introduction


2 

Th 1/29 
Lecture 2 
Lab 2 
Review of Arrays and Functions in C and C++
Basic Software Engineering principles

hw1

3 

Tu 2/3 
Lecture 3


Lab: the Game of Life, part I


4 

Th 2/5 
Lecture 4

Lab 
Lab: the Game of Life, part II

hw2 
5 

Tu 2/10 
Lecture 5 

Selection Sort, done and debugged in class


6 

Th 2/12 
Lecture 6 

Structures and Templates.

hw3 
7 

Tu 2/17 
Lecture 7 

Developing a program by stepwise refinement. Selection Sort
again, using templates and functions as parameters.


8 

Th 2/19 
Lecture 8 

Developing a program by stepwise refinement. Insertion Sort
again, using templates and functions as parameters.

hw4 
9 

Tu 2/24 
Lecture 9 

Introduction to Objectoriented Programming. Classes.


10 

Th 2/26 
Lecture 10 

Stacks.
Class templates

hw5 
11 

Tu 3/2 
Lecture 11 

Applications of Stacks: Evaluation of
Arithmetic Expressions.


12 

Th 3/4 
Lecture 12 

Applications of stacks: allocation of memory for local variables
and function parameters.

hw6 
13 

Tu 3/9 
Lecture 13 

Allocation of memory using stacks
Midterm Review
Old exam
Even older exam


M 

Th 3/11 
Midterm


Midterm


14 

Tu 3/23 
Lecture 14 

Recursion and Recursive Function Calls (another application of stacks)
For hwk: Queues


15 

Th 3/25 
Lecture 15 
Lab

Recursion and Recursive Function Calls, cont'd
For hwk: Queues

hw7 
16 

Tu 3/30 
Lecture 16 

QT applications for visualization. Introduction to Lists, Part I.


17 

Th 4/1 
Lecture 17 

Lists, Part II. Theory and implementation. Pointers, pointers, pointers...

hw8 
18 

Tu 4/6 
Lecture 18 

More on pointers, struct's, class objects
Allocation and deallocation of memory for lists
Destructors


19 

Th 4/8 
Lecture 19 

More on Dynamic Memory Allocation
Implementation independence of classes with applications

hw9 
20 

Tu 4/13 
Lecture 20 

Trees
Arithmetic Expression Trees and Binary Search Trees
Tree Traversal: prefix, infix, postfix


21 

Th 4/15 
Lecture 21 

Binary Trees and applications

hw10 
22 

Tu 4/20 
Lecture 22 

Trees. Implementation of a Unixlike "file system".
Start discussion about final project
Graphs  basic concepts

Final Project

23 

Th 4/22 
Lecture 23 

Graph Traversal
Depth First search
and
Applications of DFS


24 

Tu 4/27 
Lecture 24 

More on graph traversal
Work on Final Project


P 

Th 4/29 
Final Project Presentation 

Old exams

