| Week |
Period |
Topics |
Assignment Due |
Lab |
1
3/8-3/12 |
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/15-3/19 |
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/22-3/26 |
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/29-4/2 |
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 |
Good Friday |
|
5
4/5-4/9 |
Lecture 1 |
Arrays and pointers, character string processing, command line arguments |
Read text, pages 619-628. |
Project 1: Individual Design Project |
| Lecture 2 |
Dynamic objects: new, delete, dynamic arrays, memory leaks |
Read text, pages 631-637. |
| Lecture 3 |
Mid-term Exam |
|
6
4/12-4/16 |
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-680. |
7
4/19-4/23 |
Lecture 1 |
Class hierarchies |
Read text, pages 681-706. |
| Lecture 2 |
Design exercise |
|
| Lecture 3 |
Templates |
Read text, pages 711-724. |
8
4/26-4/30 |
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 |
Read text, pages 748-750. |
9
5/3-5/7 |
Lecture 1 |
Group project: design review |
|
| Lecture 2 |
Virtual functions |
Read text, pages 750-754. |
| Lecture 3 |
Group project: work time |
|
10
5/10-5/14 |
Lecture 1 |
Abstract base classes |
Read text, pages 823-830. |
| Lecture 2 |
Namespaces and Exception handling |
Read text, pages 818-830. |
| Lecture 3 |
Overview of STL algorithms |
Read text, pages 803-806. |
11
5/18 |
8:00-10:00am |
Final Exam |
|
|