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%
|