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 |
---|---|---|---|
U | 4 | Three one-hour lectures, one one-hour 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 | 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 |
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.