CIS 222:
Software Development Using Components


Description

Component-based 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

Level Credits Class Time Distribution Prerequisites
U 4 Three one-hour lectures, one one-hour lab CIS 221 (H222: CIS H221)

Quarters Offered, General Information, Exclusions, Cross-Listings, etc.

Course Objectives

Relationship to ABET Criterion 3 Relationship to CSE Program Objectives
a b c d e f g h i j k
XX X XXX X XX X X   X   XXX
1a 1b 1c 2a 2b 3a 3b 3c 4a 4b
XXX XX XXX   X X   X X X

Textbooks and Other Required Material

Topics

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  

Representative Lab Assignments

Week Lab Topic Week Lab Topic
1 Pretty printer using HTML 5-6 Automated glossary generation
2 Sorted table generator for HTML 7-8 Partial_Map represented using
Array of Queue of Record (hashing)
3 Medical information processing
4 Pizza delivery service 9-10 List represented using "raw C++" pointers

Grading Plan

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.