| Number of Weeks | Topics | Reading |
|---|---|---|
| 3 | Introduction to the course; component-based software and component relationships; UML diagrams; Java control structures, built-in types, I/O; design-by-contract specifications with preconditions and postconditions; reasoning about program behavior; testing. | HC (Ch 1-3),
NK (Ch 1-4) |
| 4 | Interfaces, classes, and packages; reference (i.e., object) variables and the problems they cause vis-a-vis value variables; template method pattern; abstract factory pattern; engineering and scientific computing problems from an object-oriented viewpoint. | HC (Ch 4-6),
NK (Ch 5-6) |
| 2 | Graphical user interfaces; event handling; observer pattern. | HC (Ch 7-9),
NK (Ch 15-18) |
| 1 | Reviews and exams. |
| Lab | Lab Topic |
|---|---|
| 1 | Write a program (using a language and programming style you already know) to find the area of a simple polygon, and test it |
| 2 | Write a program in Java to compute the n-th root of a real number using a numerical algorithm of choice, and test it |
| 3 | Extend a natural number component family, and test it |
| 4 | Implement a natural number calculator with graphical user interface, and test it |
|
|
Implement a natural number component, and test it |
|
|
Implement a flying lawnmower component, and test it |
| 7 | Implement a numerical integration component in two different ways, and test it |
| Lab Assignments |
42%
|
|---|---|
|
|
5%
|
|
|
3%
|
| Exam 1 |
25%
|
| Exam 2 |
25%
|