| Week |
Period |
Lecture Material |
Topics |
Read pages |
Lab |
1
3/10-3/14 |
Lecture 1 |
|
Course introduction
Prerequisite assessment |
|
Lab 1: Using Existing Classes |
| Lecture 2 |
STL list class and list iterators |
978-983, 993-997 |
| Lecture 3 |
Pointer basics, null pointers, addressing, indirection |
304-326 |
2
3/17-3/21 |
Lecture 1 |
Code 3-18
Video 1*
Video 2*
Video 3*
Code 3-20 |
Arrays and pointers, character string processing, command
line arguments |
326-353, 920 |
| Lecture 2 |
Introduction to classes |
|
| Lecture 3 |
Object-oriented analysis and design
Introduction to Unified Modeling Language (UML)
Classification, use cases |
119-131 |
3
3/24-3/28 |
Lecture 1 |
Video 1*
diaUML*
Video 2* |
Data abstraction, encapsulation
Introduction to abstract data types (ADT's) |
395-413 |
Lab 2: Class Implementation |
| Lecture 2 |
ADT class interface, constructor, default constructor arguments,
destructor, member functions, data members, assignment operator,
public/private members |
413-431 |
| Lecture 3 |
ADT Design examples |
431-448 |
4
3/31-4/4 |
Lecture 1 |
Video 1*
Code 4-1 |
const members, composition, friends, this pointer |
453-520 |
| Lecture 2 |
Operator overloading |
524-546, 559-567 |
| Lecture 3 |
Design exercise |
|
5
4/7-4/11 |
Lecture 1 |
Video 1*
Code 5-1 |
Review |
|
Project 1: Individual Design Project
|
| Lecture 2 |
Mid-term Exam |
|
| Lecture 3 |
Pointer review, dynamic objects with new and delete, dynamic arrays,
memory leaks |
476-477 |
6
4/14-4/18 |
Lecture 1 |
Video 1*
Video 2*
Code 6-2 |
Simple string ADT implementation |
546-559 |
| Lecture 2 |
Design exercise |
|
| Lecture 3 |
Good Friday |
|
7
4/21-4/25 |
Lecture 1 |
Video 1*
Code 7-1 |
Inheritance, protected, overriding, constructor/destructor
relationship |
557-600 |
| Lecture 2 |
Design exercise |
600-622 |
| Lecture 3 |
Templates |
705-719 |
8
4/28-5/2 |
Lecture 1 |
Video 1*
Video 2* (cut short due to coughing fit)
Code 8-1
Video 3*
Code 8-2
Code 8-2 |
Templated container implementation, linked lists |
798-810 |
Project 2: Group Design Project |
| Lecture 2 |
Linked list and iterator implementation |
|
| Lecture 3 |
Polymorphism, virtual functions |
626-657 |
9
4/5-5/9 |
Lecture 1 |
Video 1*
Code 9-1
Video 2*
Code 9-2
Code 9-2 |
Abstract base classes |
626-657 |
| Lecture 2 |
Group project: design review |
|
| Lecture 3 |
Exception handling |
724-753 |
10
5/12-5/16 |
Lecture 1 |
|
Design exercise |
|
Video 1*
Video 2* |
| Lecture 2 |
Overview of STL algorithms |
1013-1048 |
| Lecture 3 |
Final review |
|
11
5/19-5/23 |
TBA |
|
Common Final Exam |
|
|