CS183: Software Design

[MSOE Logo] Tentative Schedule
Spring 2000

CS183 notes from other MSOE professors: Dr. Welch and Dr. Sebern
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    
Office: CC-27C, Phone: 277-7339
Last Updated: April 1, 2000
© 2000 Dr. Christopher C. Taylor