Skip to main content.

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
Final Implementation and Analysis Due

Dec 16

Dec 18