Componentbased software from implementer's perspective; container and graphical user interface components; data representation using layering and using pointers; introduction to algorithm analysis.
Level  Credits  Class Time Distribution  Prerequisites 

U  4  Three onehour lectures, one onehour lab  CIS 221 (H222: CIS H221) 
Relationship to ABET Criterion 3  Relationship to CSE Program Objectives  



Number of Weeks  Topics  Readings 

1  Templates; instantiates relation; component coupling diagrams and code; instantiation diagrams and code; Set and Sequence components  [W98] Set, [W98] Sequence 
1  Checking components; checks relation using templates; Queue component  [W98] Queue 
1  Extensions; extends relation using templates; toolkit classes; sorting Queues  Handouts 
1  Stack component; how recursion works; Record and Partial_Map components  [W98] Record, [W98] Partial_Map 
1  Loop invariants  [W98] Chapter 6, [W98] Stack 
1  Performance analysis; analysis of algorithms  Handouts 
1  Representation; encapsulates relation; convention and correspondence  Handouts 
1  Array component; hashing to implement Partial_Map; fully parameterized components; uses relation; partial instantiation; specializes relation  Handouts, [W98] Array 
1.5  Pointers and dynamic storage; List component  Handouts, [W98] List 
0.5  Review and exams 
Week  Lab Topic  Week  Lab Topic 

1  Pretty printer using HTML  56  Automated glossary generation 
2  Sorted table generator for HTML  78  Partial_Map represented using Array of Queue of Record (hashing) 
3  Medical information processing  
4  Pizza delivery service  910  List represented using "raw C++" pointers 
Midterm Exam  Final Exam  Homework Assignments  Closed Lab Assignments  Lab Assignments  Class Participation 

20%  30%  10% (total of many)  9% (9 @ 1% each)  28% (8 @ 3.5%)  3% 
Important Note: A passing grade on the final exam is required in order to receive a passing grade for the course.
Preparer Information and Date: Syllabus prepared by Bruce W. Weide, last modified 11 March 1999.