Schedule
Lecture slides will be posted after class.
Most dates are tentative. The schedule will be updated as the semester progresses...
| WEEK | DAY | Lectures & Examples | Topic & Reading | Assignments |
| 1 | Sep 07 | Introduction to Course, Java | Review UNIX commands | |
| Sep 09 | ||||
| Sep 11 | Our first class Lecture |
|||
| 2 | Sep 14 | Lecture Examples |
Introduction to Java, Statically typed variables Common Java classes (Math, String) Creating classes Java Tutorials |
Assignment 0 |
| Sep 16 | Drop/Add ends Lecture Examples |
Assignment 1 | ||
| Sep 18 | Lecture Examples |
Assignment 2 | ||
| 3 | Sep 21 | Lecture Examples |
Creating classes, cont'd Parameter Passing Inheritance, Polymorphism Eclipse JavaDocs |
Assignment 3 |
| Sep 23 | Lecture Examples |
Assignment 4 | ||
| Sep 25 | Lecture Examples |
Assignment 5 | ||
| 4 | Sep 28 | Lecture Examples |
Packaging Wrapper Classes Abstract Classes, Interfaces Exceptions |
|
| Sep 30 | Lecture Examples |
Assignment 6 | ||
| Oct 02 | Lecture Examples |
|||
| 5 | Oct 05 | Lecture Examples |
Files I/O Streams |
Assignment 7 Midterm Prep |
| Oct 07 | Lecture Examples |
|||
Oct 09 |
Exam #1 |
|||
| 6 | Oct 12 | Lecture Examples |
Collections Generics Enumerated Types |
|
| Oct 14 | Lecture Examples |
Assignment 8 | ||
Oct 16 |
Reading Days |
|||
| 7 | Oct 19 | Lecture Examples |
Jar Files Compiled vs Interpreted Languages Comparators Introduction to Software Development A spiral model of software development and enhancement No Silver Bullet: Essence and Accidents of Software Engineering Testing, JUnit |
|
| Oct 21 | Lecture | |||
| Oct 23 | Lecture Examples |
Project 1 (due Fri, Oct 30) | ||
| 8 | Oct 26 | Lecture | Coverage, White-box Testing, Eclipse Debugger Design in the Small - Open-Closed Principle, Code Smells, Refactoring Eclipse Plug-ins (EclEmma, Metrics) Refactoring: Improving the Design of Existing Code Summary of Code Smells OO in One Sentence: Keep it DRY, Shy, and Tell the Other Guy |
|
| Oct 28 | Lecture Examples |
|||
| Oct 30 | Lecture | |||
| 9 | Nov 02 | Lecture | Refactoring Code Smells, Liskov Substitution Principle Eclipse Refactoring Menu Readings: Inheritance and Polymorphism Liskov Substitution Principle OO Design Quality Metrics Big Ball of Mud Event-driven programming, GUIs |
Assignment 10: Bins |
| Nov 04 | Lecture | |||
| Nov 06 | Lecture Examples |
|||
| 10 | Nov 09 | Lecture Examples |
GUIs Handling events Animation Swing References:Midterm Prep |
Assignment 11: Roulette |
| Nov 11 | Lecture Examples |
|||
Nov 13 |
Exam #2 |
|||
| 11 | Nov 16 | Lecture | Design Patterns (Builder, Factories, Composite, Strategy, Observer, MVC) Head First Design Patterns Dependency Inversion Principle Analysis and Design (Analysis and Design) |
|
| Nov 18 | Lecture | Assign 12: Screen Savers | ||
| Nov 20 | Lecture | |||
Nov 23 |
Thanksgiving Break |
|||
Nov 25 |
||||
Nov 27 |
||||
| 12 | Nov 30 | Analysis and Design (Analysis and Design) Version Control, Subversion, Eclipse Plugins (Subclipse) Project Design, Management Reflection |
Final Project Preparation Analysis: Due Monday, Novmber 30 |
|
| Dec 02 | ||||
| Dec 04 | Guest Speaker: Emily Hill | |||
| 13 | Dec 07 | Designing APIs Concurency Project Design, Management |
Final Project Initial implementation due Monday, Dec 7 |
|
| Dec 09 | ||||
| Dec 11 | Last day of classes | |||
Dec 14 |
Final Exam Week |
|||
Dec 16 |
||||
Dec 18 |
||||