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 |
---|---|---|---|
U | 4 | Three one-hour lectures, one one-hour lab | Math 151 (H221: Math H161 or Math H190); CIS 201 or CIS 202 or EG 167 or CIS placement level A |
Relationship to ABET Criterion 3 | Relationship to CSE Program Objectives | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
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 |
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 |
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 David Mathias, last modified 11 March 1999.