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.
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 |
|
Syllabus prepared by Bruce W. Weide, last modified 11 March 1999.