[MSOE Logo]
To MSOE home page

CS-183
Software Design

Version:  (31Aug2001)

 
 

Tentative schedule

Week Period Topics Reading Assignment Lab
#1 Lecture 1 Course introduction   Lab 1:  Infix to Postfix
Lecture 2 Data abstraction, encapsulation
Introduction to abstract data types (ADT's)
Read Deitel, pages 391-413.
Lecture 3 Classes as ADTs, Object and Method discovery  Read Deitel, pages 38-42, 391-402.
#2 Lecture 1 Data Members and Member Functions (accessors, mutators, public APIs) Read Deitel, pages 391-402. Lab 1:  (continued)
Lecture 2 Classes, constructors, Rational number methods (add, sub, mult, div, etc.) Read Deitel, pages 413-430.
Lecture 3 Access:  public, private Read Deitel, pages 431-435.
#3 Lecture 1 Euclid's GCD algorithm, other algorithms in the STL Read Deitel, pages 206-207, Sec. 20.1.3. Lab 2:  Rational Arithmetic
Lecture 2 Function Overloading (signatures) Read Deitel, pages 203-206.
Lecture 3 Operator Overloading (+, -, *, and / on class Rational  Read Deitel, pages 524-533.
#4 Lecture 1 Operator Overloading (cont.), global vs. member function implications Lab 2:  (continued)
Lecture 2 Composition, Friendship Read Deitel, pages 462-471.
Lecture 3 Arrays and pointers, character string processing, command line arguments Read Deitel, pages 328-333, 343-353.
#5 Lecture 1 Const vs. non-const Read Deitel, pages 453-462. Lab 3:  Dynamic Objects
Lecture 2 Static members  Read Deitel, pages 477-483.
Lecture 3 Dynamic objects: new, delete, dynamic arrays, memory leaks  Read Deitel, pages 476-477.
#6 Lecture 1 Linked List implementation   Lab 3:  (continued)
Lecture 2 Canonical Form  
Lecture 3 Copy constructors and operator = Read Deitel, pages 540-544.
#7 Lecture 1 Iterator implementation   Lab 4:  Container Abstraction
Lecture 2 Container/Iterator idiom  Read Deitel, Ch. 20
Lecture 3 Catch up  
#8 Lecture 1 Inheritance Read Deitel, pages 577-600. Lab 4:  (continued)
Lecture 2 Typical Taxonomies  
Lecture 3 Polymorphism, virtual functions, abstract base classes Read Deitel, pages 626-639.
#9 Lecture 1 Pure virtual functions, abstract base classes, virtual destructors  Read Deitel, pages 639-642. Lab 5:  Inheritance & Polymorphism
Lecture 2 Shapes Taxonomy  
Lecture 3 Windows, graphic programming Read Deitel supplement Ch. 2.
#10 Lecture 1 Overview of STL algorithms Read Deitel, section 20.5 Lab 5:  (continued)
Lecture 2 Misc. topics in C++  
Lecture 3 Final review  
#11
Mon. 5/13
Exam week Final exam - 11:00am to 1:00pm S-341    
 
  This page was last updated on April 19, 2002; send comments to Dr. Jeff Blessing