| Week |
Period |
Topics |
Reading |
Lab |
1
3/6-3/10 |
Lecture 1 |
Course introduction
Prerequisite assessment |
|
Lab 1: Using Existing Classes |
| Lecture 2 |
Classes, constructors |
Read text, pages 363-378. |
| Lecture 3 |
Class examples |
|
2
3/13-3/17 |
Lecture 1 |
Object-oriented analysis and design
Introduction to Unified Modeling Language (UML)
Classification, use cases |
Read text, pages 384-395. |
| Lecture 2 |
Data abstraction, encapsulation
Introduction to abstract data types (ADT's) |
Read text, pages 401-409. |
| Lecture 3 |
ADT class interface, member function types, data members,
operator overloading |
Read text, pages 409-417. |
3
3/20-3/24 |
Lecture 1 |
ADT data representation
Class implementation, copy constructor, assignment operator,
destructor, static class members |
Read text, pages 417-429. |
Lab 2: Class Implementation |
| Lecture 2 |
ADT design examples |
Read text, pages 429-458. |
| Lecture 3 |
Design exercise |
|
4
3/27-3/31 |
Lecture 1 |
STL list class and list iterators |
Read text, pages 486-488, 808-812. |
| Lecture 2 |
Pointer basics, null pointers, addressing, indirection |
Read text, pages 607-619. |
| Lecture 3 |
Arrays and pointers, character string processing, command
line arguments |
Read text, pages 619-628. |
5
4/3-4/7 |
Lecture 1 |
Review |
|
Project 1: Individual Design Project
|
| Lecture 2 |
Mid-term Exam |
|
| Lecture 3 |
Dynamic objects: new, delete, dynamic arrays, memory
leaks |
Read text, pages 631-637. |
6
4/10-4/14 |
Lecture 1 |
Simple vector ADT implementation |
Read text, pages 638-651. |
| Lecture 2 |
Multi-dimensional arrays
Matrices and matrix classes |
Read text, pages 541-549. |
| Lecture 3 |
Inheritance |
Read text, pages 659-706. |
7
4/17-4/21 |
Lecture 1 |
Design exercise |
|
| Lecture 2 |
Templates |
Read text, pages 711-724. |
| Lecture 3 |
Good Friday |
|
8
4/24-4/28 |
Lecture 1 |
Templated container implementation, linked lists |
Read text, pages 725-748. |
Project 2: Group Design Project |
| Lecture 2 |
Linked list and iterator implementation |
|
| Lecture 3 |
Polymorphism, virtual functions |
Read text, pages 748-754. |
9
5/1-5/5 |
Lecture 1 |
Abstract base classes |
Read text, pages 754-761. |
| Lecture 2 |
Group project: design review |
|
| Lecture 3 |
Namespaces |
Read text, pages 818-823. |
10
5/8-5/12 |
Lecture 1 |
Exception handling |
Read text, pages 823-830. |
| Lecture 2 |
Overview of STL algorithms |
Read text, pages 803-806. |
| Lecture 3 |
Final review |
|
11
5/15-5/19 |
8:00-10:00am |
Final Exam |
|
|