CS-183 Software Design
Course Outline
Fall 2004

Dr. Mark Hornick

The Fall 2004 section meets Monday and Wednesday in CC-43 from 4:00pm to 6:50pm in a combined lecture/lab format. The lectures occupy the first part of each session, followed by the lab.

Week Day Topics Assignments Lab
1 W 9/8 Course introduction,

STL list class and list iterators

978-983,
993-997
Prerequisite assessment

Lab 1: Using Existing Classes
(due Saturday 9/18)

2 M 9/13 Pointer basics, null pointers, addressing, indirection

Arrays and pointers, character string processing

command line arguments

Code Examples

304-326,

326-353,

919-920

W 9/15 Introduction to classes  
3 M 9/20 Object-oriented analysis and design

Introduction to Unified Modeling Language (UML)

Classification, use cases; Design example

38-42,

119-131

Lab 2: Class Implementation
(due Sunday 10/3
W 9/22 Data abstraction, encapsulation; introduction to abstract data types (ADTs) Class interface, constructor, default constructor arguments, destructor, member functions, data members, public/private members

Code Examples

389-413
4 M 9/27 Assignment operators,  this pointer 413-431
W 9/29 ADT Design examples 431-448
5 M 10/4 const and static members, composition, friends Chapter 7 (452-522) Lab 3: Individual Design Project
(report due Wed 10/20
Interim demo. Wed 10/13
Final demo. Wed 10/20
W 10/6 Operator overloading

Complex class example code

Chapter 8 (523-575)
6 M 10/11 Review for midterm exam  
W 10/13 Mid-term Exam  
7 M 10/18 Pointer review, dynamic objects with new and delete, dynamic arrays, memory leaks 476-477
W 10/20 Simple vector ADT implementation

CVector code

546-549
8 M 10/25

Inheritance

Derived class code

557-600 Project 2: Group Design Project

Interim Activity Log1 (due 11:00pm, Sunday 10/31)

Design Report (due 11:00pm, Tuesday Nov 2)

Interim Activity Log2 (due 11:00pm, Sunday 11/7)

Final report due Wednesday 11/10)

W 10/27 Polymorphism, virtual functions, abstract base classes

Virtual functions example code

Ch 10 (625-658)
9 M 11/1

Polymorphism

Pets example code

Group project: design review

 
W 11/3 Templates

Templated Vector example code

Ch 12 (704-722)
10 M 11/8

Linked list and iterator implementation

Templated List example code (complete)

970-997
W 11/10 Namespaces
Exception handling

Review of past material
1074-1077
723-753
1014-1046
11    

 

 
  Final Exam (comprehensive)
Thursday, November 18

2:00pm-4:00pm
CC43

This page was last updated on 02/28/2007.