Calendar

Monday
Tuesday
Wednesday
Thursday
Friday
01/07
(No class)
01/08 01/09
Lecture 1: Introduction
01/10 01/11
PA0 out
Lecture 2: Getting Started With C++
01/14
Lecture 3
01/15 01/16 PA0 due
PA1 out
Lecture 4: Records
Section 1: Enums, Strings, and Files
01/17
Section 1: Enums, Strings, and Files
01/18
Lecture 5: Files and Vectors
Section 1: Enums, Strings, and Files
01/21
Martin Luther King Day, Jr., Day (No class)
01/22 01/23 PA1 due
PA2 out
Lecture 6: Abstract Data Types
Section 2: ADTs and Files
01/24
Section 2: ADTs and Files
01/25
Lecture 7: More Fun With ADTs
Section 2: ADTs and Files
01/28
Lecture 8: ADTs and Recursion
01/29 01/30
Lecture 9: Recursion
Section 3: Recursion
01/31
Section 3: Recursion
02/01 PA2 due
PA3 out
Lecture 10: More Recursion
Section 3: Recursion
02/04
Lecture 11: Recursive Backtracking
02/05 02/06
Lecture 12: Recursion and Arrays
Section 4: Recursion
02/07
Section 4: Recursion
02/08 PA3 due
PA4 out
Lecture 13: Arrays and Dynamic Memory
Section 4: Recursion
02/11
Lecture 14: Arrays and Linked Lists
02/12 02/13
Lecture 15: More Linked Lists
Section 5: Linked Lists
02/14
Section 5: Linked Lists
02/15 PA4 due
Lecture 16: Running Time Analysis and Hashing
Section 5: Linked Lists
02/18
Presidents' Day (No class)
02/19
Midterm
02/20
Lecture 17: Map Implementaion
Section 6: Templates, Linked Structures
02/21
Section 6: Templates, Linked Structures
02/22 PA5 out
Lecture 18: More Templates, Binary Search Trees
Section 6: Templates, Linked Structures
02/25
Lecture 19: More BSTs
02/26 02/27
Lecture 20: General Trees
Section 7: Binary Trees
02/28
Section 7: Binary Trees
02/29
Section 7: Binary Trees
03/03 PA5 due
PA6 out
Lecture 21: Expression Trees
03/04 03/05
Lecture 22: Inheritance
Section 8: Inheritance
03/06
Section 8: Inheritance
03/07
Lecture 23: Recursive Descent Parsing
Section 8: Inheritance
03/10
Lecture 24: Bitwise Manipulation
03/11 03/12
No lecture Wednesday or Friday.
No section this week.
03/13 03/14 PA6 due
03/17 03/18 03/19 03/20 03/21 Final Exam
8:30 - 11:30 AM, 260-113
Alternate: 3:30 - 6:30 PM, Gates B03


Syllabus

Lecture 1
Wednesday
01/09/08
Introduction: Course introduction and administrativia. Overview of syllabus.
Lecture 2
Friday
01/11/08
Getting Started With C++: C++ introduction and examples.
Lecture 3
Monday
01/14/08
Using the Grid. Avoiding code duplication.
Lecture 4
Wednesday
01/16/08
Records: Enumerated types and structs.
Section 1
W/Th/F
Enums, Strings, and Files
Lecture 5
Friday
01/18/08
Files and Vectors: File input and output. Advantages of the Vector over arrays.
Lecture 6
Wednesday
01/23/08
Abstract Data Types
Section 2
W/Th/F
ADTs and Files
Lecture 7
Friday
01/25/08
More Fun With ADTs
  • No handouts today
Lecture 8
Monday
01/28/08
ADTs and Recursion: Map and Set. Using function pointers. Introduction to recursion.
  • No handouts today
Lecture 9
Wednesday
01/30/08
Recursion: Factorial, Fibonacci, and Towers of Hanoi. The "recursive leap of faith."
Section 3
W/Th/F
Recursion
Lecture 10
Friday
02/01/08
More Recursion: Snowflake and permutation examples. Recursive backtracking: word "shrinking."
Lecture 11
Monday
02/04/08
Recursive Backtracking
  • No handouts today
Lecture 12
Wednesday
02/06/08
Recursion and Arrays: Memoization in recursion. C arrays.
Section 4
W/Th/F
Recursion
Lecture 13
Friday
02/08/08
Arrays and Dynamic Memory: Using arrays to implement the Vector class. Pointers and dynamic memory allocation.
Lecture 14
Monday
02/11/08
Arrays and Linked Lists
  • No handouts today
Lecture 15
Wednesday
02/13/08
More Linked Lists
Section 5
W/Th/F
Linked Lists
Lecture 16
Friday
02/15/08
Running Time Analysis and Hashing: Big-O notation. Using hashing to implement Map.
Lecture 17
Wednesday
02/20/08
Map Implementation
  • No handouts today
Section 6
W/Th/F
Templates, Linked Structures
Lecture 18
Friday
02/22/08
More Templates, Binary Search Trees
Lecture 19
Monday
02/25/08
More BSTs
Lecture 20
Wednesday
02/27/08
General Trees: Using a trie to implement the Lexicon.
Section 7
W/Th/F
Binary Trees
Lecture 21
Monday
03/03/08
Expression Trees
Lecture 22
Wednesday
03/05/08
Inheritance: Expression parsing.
  • No handouts today.
Section 8
W/Th/F
Inheritance
Lecture 23
Friday
03/07/08
Recursive Descent Parsing
  • No handouts today.
Lecture 24
Monday
03/10/08
Bitwise Manipulation
  • No handouts today.