CIS 221:
Software Development Using Components


Description

Component-based software from client programmer's perspective; intellectual foundations of software engineering; mathematical modeling; specification of object-oriented components; layering; testing and debugging layered operations.

Level, Credits, Class Time Distribution, Prerequisites

Level Credits Class Time Distribution Prerequisites
U 4 Three one-hour lectures, one one-hour lab Math 151 (H221: Math H161 or Math H190); CIS 201 or EG 167 or CIS placement level A

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 X

Textbooks and Other Required Material

Topics

Number of Weeks Topic Readings
0.5 Mechanics: World-Wide Web, editing, UNIX file system, simple UNIX commands Handouts
1.5 Framework; philosophical and intellectual focus of computer science and engineering; natural vs. formal languages; "systems" thinking; mathematical modeling and object-oriented thinking [W99] Chapters 1-4
3 C++ language and RESOLVE/C++ discipline: objects; procedure vs. function operations; declarations, control structures, and other statements; RESOLVE/C++ built-in types; simple terminal and file I/O Handouts, [W99] Chapter 5, [W99] Text
2 Reasoning about program behavior from specifications; testing; how to write and reason about loops; how to write and reason about recursive operation bodies [W99] Chapter 6, Handouts
2.5 Classes; Id_Name_Table and Least_Cost_Path_Machine components; checks relation; extends relation; GUI and Natural_Number components [W99] Chapter 7, [W99] GUI, Id_Name_Table, Least_Cost_Path_Machine, Natural_Number
0.5 Review and exams  

Representative Lab Assignments

Week Lab Topic
1 Home page
2 Calculate change
3 Newton iteration
4 GUI vending machine
5-6 Least_Cost_Path_Machine client
7-8 Additional operations for Text
9 Natural number calculator
10 Natural number extension and algorithm improvements

Grading Plan

Midterm Exam Final Exam Homework Assignments Closed Lab Assignments Lab Assignments Class Participation
20% 30% 10% (total of many) 10% (10 @ 1% each) 28% (8 @ 3.5%) 2%

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.