[MSOE Logo]

CS-183
Software Design

Tentative schedule Spring 1999


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    

This page was last updated on March 3, 1999.