Week
|
Day
|
Topics
|
Reading
Due
|
HW / Project
Due
|
1 |
Overview and C++ Basics |
1/14
to
1/18
|
M
|
Course Admin; C++ Top Level
|
Syllabus
|
|
T
|
Lab: Learning the tools in Linux |
Denison Linux |
|
W
|
C++ Types -- Primitives, Constants, and Arrays
|
Sec. 2.1-2, C.6-9;C++ for Java Prog (up to Enumerations) |
|
F
|
Control Structures and Software Engineering |
Ch. 1 and Sec. C.10 |
Turingscraft 1 |
2 |
C++ Basics |
1/21
to
1/25
|
M
|
No class -- MLK Observance |
|
|
T
|
Types, Conditionals and Iteration |
Appendix C.10 |
|
W
|
Arrays and memory; C-style strings (null terminated) |
Sec. 3.2 |
|
F
|
C-style Structs and memory |
Sec. 3.5 |
Homework 1 |
3 |
Dynamic C++, Memory and Pointers |
1/28
to
2/1
|
M
|
Enums and Pointer introduction |
Sec. 2.3-2.4 |
Turingscraft 2 -- Conditionals and Iteration |
T
|
Dynamic Arrays and Pointers and the new operator |
Sec. 3.4 |
|
W
|
Commenting, Style, and Pointer arithmetic |
|
Turingscraft 3 -- Arrays and Techniques2 |
F
|
Function invocation and Reference Parameters |
Sec. C.11 |
Homework 2 |
4 |
Intro to Classes |
2/4
to
2/8
|
M
|
More reference parameters and functions; Quiz redux |
|
|
T
|
Introduction to Classes |
Sec. 4.1-4.3 |
Turingscraft 4 -- Functions |
W
|
Continuing with Classes -- Interface (.h) and Implementation (.cpp) |
|
Turingscraft 5 -- Pointers and Strings |
F
|
Practicing Classes with the Card/Deck/PokerHand |
|
Turingscraft 6 -- Class Definitions |
5 |
Continuing Basic Classes and List ADT |
2/11
to
2/15
|
M
|
Class Development continued |
|
|
T
|
Unsorted List ADT; Dynamic creation and Constructors/Destructors |
Sec. 4.4 |
|
W
|
Continue Unsorted List ADT and Test Review |
|
Homework 3
(Thursday 5:00pm) |
F
|
Midterm1 |
|
|
6 |
|
2/18
to
2/22
|
M
|
List ADT implementation issues, static vs. dynamic object creation, release, and access |
Sec. 6.1-6.3 |
|
T
|
List driver tips; separate compilation; Operator overloading |
|
|
W
|
Assignment overload -- motivation and "How to" |
|
Homework 4 (Thursday 11:59pm) |
F
|
Linked List introduction |
Sec. 6.3-6.5 |
|
7 |
|
2/25
to
2/29
|
M
|
Practicum with Node wrapper and Links |
|
|
T
|
Copy constructors |
|
|
W
|
Copy constructors |
|
|
F
|
Assignment overload |
|
Homework 5 phase 1 by class time |
8 |
|
3/3
to
3/7
|
M
|
Homework 4 Redux and Stack intro |
|
Homework 5 complete |
T
|
Stream insertion overload and Stacks |
Sec. 7.1-7.5 |
|
W
|
Stack working session |
|
|
F
|
Stack Programming Contest |
|
Homework 6 (due by class time) |
9 |
|
3/17
to
3/21
|
M
|
Linked List Copy Constructor; Queue intro |
Sec. 8.1 |
|
T
|
Queue implementations |
Sec. 8.2-8.3 |
|
W
|
Template Classes |
Sec. 9.1, 9.3 |
|
F
|
Queue Programming Contest |
Sec. 8.4 |
|
10 |
|
3/24
to
3/28
|
M
|
Doubly Linked Lists and SortedList ADT |
Sec. 11.3 |
Homework 7 |
T
|
Midterm review |
|
|
W
|
Midterm2 |
|
|
F
|
Recursion |
Sec. 10.1-10.3 |
|
11 |
|
3/31
to
4/4
|
M
|
Recursion Practicum |
|
|
T
|
Midterm2 Redux |
|
|
W
|
Last midterm question; recursion continued |
|
Homework 8 |
F
|
Recursion conclusion incl. Function call stack |
|
|
12 |
|
4/7
to
4/11
|
M
|
O(n^2) sorting algorithms |
Chapter 13 |
|
T
|
Mergesort |
|
|
W
|
Quicksort |
|
Homework 9: Nyhoff Prog Probs Ch 10: 7, 21, 22, 25 |
F
|
Quicksort Split algorithm; Sorting Out Sorting |
|
|
13 |
|
4/14
to
4/18
|
M
|
Huttenlocher talks |
|
|
T
|
OOP: Encapsulation, Inheritance, and Polymorphism |
Chapter 14 |
|
W
|
Inheritance |
|
|
F
|
Academic Awards Convocation |
|
Homework 10 |
14 |
|
4/21
to
4/25
|
M
|
Binary Search Trees |
|
|
T
|
Binary Search Trees |
|
|
W
|
|
|
|
F
|
|
|
|
4/28 |
M |
|
|
Homework 11 |