Week |
Period |
Topics |
Supplements |
Lab |
1
3/8-3/12 |
Lecture 1 |
Course introduction
Prerequisite assessment
std::list class and iterators |
pages 978-983, 993-997 |
Electronic Submission
Quiz 1
Lab 1: Using Existing Classes |
Lecture 2 |
Pointer basics, null pointers, addressing, indirection |
video*+
pages 304-326 |
Lecture 3 |
Arrays and pointers, character string processing, command line
arguments |
video*+
pages 326-353, 920 |
2
3/15-3/19 |
Lecture 1 |
Data abstraction, encapsulation
Introduction to abstract data types (ADT's) |
video*+
code
pages 395-413 |
Lecture 2 |
ADT class interface, constructor, default constructor arguments,
destructor, member functions, data members, assignment operator,
public/private members |
video*
code
pages 413-431. |
Lecture 3 |
const members, composition, friends, this pointer |
video*
code
pages 453-520 |
3
3/22-3/26 |
Lecture 1 |
Initializer lists, automatic conversion |
video*
code |
Lab 2: Class Implementation |
Lecture 2 |
Object-oriented analysis and design
Introduction to Unified Modeling Language (UML)
Classification, use cases |
video*
code
pages 119-131 |
Lecture 3 |
Group activity reports |
video*
code |
4
3/29-4/2 |
Lecture 1 |
Review of ADT, Operator overloading |
video*
code |
Lecture 2 |
ADT Design examples |
pages 431-448 |
Lecture 3 |
Design Exercise |
|
5
4/5-4/9 |
Lecture 1 |
Review |
video*
code |
Lab 3: Design Project |
Lecture 2 |
Midterm Exam |
supplement |
Lecture 3 |
Good Friday |
|
6
4/12-4/16 |
Lecture 1 |
Pointer review, dynamic objects with new and delete, dynamic
arrays, memory leaks |
video*
code
pages 476-477 |
Lecture 2 |
Simple string ADT implementation |
video*
pages 546-559. |
Lecture 3 |
Simple string ADT implementation |
video*
code |
7
4/19-4/23 |
Lecture 1 |
Inheritance, protected, overriding, construtor/destructor
relationship |
video*
code
pages 557-622 |
Lab 4: Group Design Project |
Lecture 2 |
Inheritance cont... Watch
this* (you may want to watch
this* (starting at 28:00 minutes)
first to make sure you have the correct context). |
required exercise |
Lecture 3 |
Templated container implementation, linked lists |
video*
pages 705-719, 798-810 |
8
4/26-4/30 |
Lecture 1 |
Linked list and iterator implementation |
video*
code |
Lecture 2 |
Polymorphism, virtual functions |
video*
pages 626-657. |
Lecture 3 |
Design exercise |
|
9
5/3-5/7 |
Lecture 1 |
Group project: design review |
|
Lecture 2 |
Abstract base classes |
pages 626-657 |
Lecture 3 |
Design exercise |
|
10
5/10-5/14 |
Lecture 1 |
Exception handling |
video*
pages 724-753 |
Lecture 2 |
Overview of STL algorithms |
video*
pages 1013-1048 |
Lecture 3 |
Final review |
|
11
5/17-5/21 |
Exam week |
Final Exam |
Final exam |
|