(Legend: OF = Objects First with Java)
| Class | Topics / Activities | Resources/assignments (Readings/work before class) | Labwork/homework (During and/or after class) |
|---|---|---|---|
* 1 * Mon, |
Labor Day, no class. |
|
|
* 2 * Wed, |
Introduction to the course. Administration issues. Programming. Object-Oriented Programming. Software Engineering. |
Explore the course website and the OF website. Download project files onto flash drive (and/or own laptop) and have them ready for the first class. |
Play with Model.xls. |
* 3 * Mon, |
Basic principles in Object-Oriented Design and Programming. Classes and Objects. |
Review OF ch.1. |
In projects shapes add an abstract class Shape and move into it the common behavior and attributes of subclasses Circle, Square and Triangle. A solution: pictureWithShapes.zip. |
* 4 * Wed, |
Fundamental OO concepts. Inheritance; |
Create a new project, cars, similar to picture, in which you define a class Car, with methods for moving cars forward and backward. Read the "Typed Collections (Generics)" section of the Java 5 supplement from the BlueJ site. |
Extra credits: In pictureWithShapes, provide methods for changing the colors of the wall and roof. Make sure that swapping between a color view and a black-and-white view still works. |
* 5 * Mon, |
Classes Polymorphism |
Review OF ch.2. Download and install NetBeans. Try to port the OF ch.1 and ch.2 projects to NetBeans. |
In pictureWithShapes, use a Map to store the components. |
* 6 * Wed, |
Object interaction Abstraction |
Review OF ch.3. | Build a JukeBox using a NumberDisplay. Build a ClockDisplay that doesn't use the NumberDisplay. Use this template: SimpleClockDisplay.java. |
* 7 * Mon, |
Interfaces vs. classes. The Java collection library (slides in HTML
and PDF). |
Review OF ch.4. | Refactor ch.3's mail-system project, using more advanced Java collections. Go through all the projects in ch.4 and refactor whenever it's possible. |
* 8 * Wed, |
Grouping objects. | Attempt all the challenge exercises in ch.4. | |
* 9 * Mon, |
Packages and libraries. Strings. See slides in HTML and PDF, and some examples. Basic user interaction. |
Review OF ch.5. | See practice.zip and mailSystem.zip. Homework: For each student in a class, assign a random colleague to test his/her work. |
* 10 * Wed, |
Testing |
Review OF ch.6. |
|
* 11 * Mon, |
Handling errors. Exceptions and assertions. |
Go through OF ch.12. Download and install Eclipse. Try to port the OF ch.6 projects to Eclipse. |
|
* 12 * Wed, |
Handling errors. | Finish exercises in ch.12. | |
* 13 * Mon, |
Designing classes. | Go through OF ch.7. | |
* 14 * Wed, |
Refactoring zuul. | Go through OF ch.7. | zuul-even-better.zip, zuul-for-images.zip, zuul-with-images.zip |
* 15 * Mon, |
Inheritance and polymorphism. Assessment 1 uploaded, tentative version. |
Go through OF ch.8. | Homework: make the projects in ch.8 Java 5 compliant; complete the exercises in ch.8. |
* 16 * Wed, |
Discussing the zuul project and the assignment. Assessment 1 uploaded, final version. |
Go through OF ch.7. | |
* 17 * Mon, |
ASIST week. Unsupervised work on assignment 1. |
||
* 18 * Wed, |
ASIST week. Unsupervised work on assignment 1. |
||
* 19 * Mon, |
More Inheritance. | Go through OF ch.9. | Assignment 1 due in class ! (You may be asked to make one final change before submitting.) |
* 20 * Wed, |
More Abstraction. | Go through OF ch.10. | |
* 21 * Mon, |
More Abstraction. Assignment 2 problems. |
Finish problems in OF ch.10. | |
* 22 * Wed, |
Work on 2nd assignment - the Foxes & Rabbits simulation. | ||
* 23 * Mon, Slides in HTML and PDF |
Discuss assignment 2. Final version. |
Go through OF ch.11. | foxes-and-rabbits-v3.zip |
* 24 * Wed, Slides in HTML and PDF |
Thanksgiving week. Work on assignment. |
||
* 25 * Mon, |
Graphical User Interfaces | Go through OF ch.11. | |
* 26 * Wed, Slides in HTML and PDF |
Graphical User Interfaces | Assignment 2 due. | |
* 27 * Mon, Slides in HTML and PDF |
Graphical User Interfaces | ||
* 28 * Wed, Slides in HTML and PDF |
Graphical User Interfaces | ||
* 29 * Mon, Slides in HTML and PDF |
Final assignment. Use SearchEngine.zip. |