6.3

Syllabus

Week 1: 9/5-9/7 Introduction to objects
Lecture 1: The Essence of Objects
Lab 1

Week 2: 9/10-9/14 Summary of Java, How to Design Classes
Lecture 2: Java Safari
Lecture 3: How to Design Classes: A Primer
Assignment 1 out
Lab 2

Week 3: 9/17-9/21 How to Design Classes
Lecture 3: How to Design Classes: A Primer
Assignment 1 due, Assignment 2 out
Code walk 1

Week 4: 9/24-9/28 Union data types, lists
Lecture 4: How to Design Classes: Encore
Lecture 5: Union Data types
Assignment 2 due, Assignment 3 out
Code walk 1

Week 5: 10/1-10/5 Abstract Data types, lists in Java
Lecture 6: Recursive unions: Lists
Lecture 7: Lists continued
Assignment 3 due, Assignment 4 out
Lab 3

Week 6: 10/8 Columbus Day: No classes

Week 6: 10/8-10/12 Trees and the composite design pattern
Lecture 8: Hierarchical structures
Lecture 9: Generic trees and other data structures
Assignment 4 due, Assignment 5 out
Code walk 2

Week 7: 10/15-10/19 Software Design Basics, Model View Controller architecture
Lecture 10: Design of programs, MVC architecture
Assignment 5 due
Code walk 2

Week 8: 10/22-10/26 How to build a model, Builder Pattern, Controllers
Lecture 11: Building a model, builder pattern and controllers
Assignment 6 out
Lab 4

Week 9: 10/29-11/2 I/O abstraction, Design Exercise and Command Design Pattern
Lecture 12: Abstracting a controller
Lecture 13: Command Design Pattern
Assignment 6 due, Assignment 7 out
Lab 5

Week 10: 11/5-11/9 Iterators, encapsulation and invariants
Lecture 14: Iterators
Lecture 15: Encapsulation and invariants
Assignment 7 due, Assignment 8 out
Lab 6

Week 11: 11/12 Veterans Day: No classes

Week 11: 11/13-11/16 Inheritance vs composition, Basics of Graphical User Interfaces
Lecture 16: Inheritance vs composition
Lecture 17: Views and Graphical User Interfaces
Assignment 8 due, Assignment 9 out
Code walk 3

Week 12: 11/19-11/20 Basics of Graphical User Interfaces
Lecture 17: Views and Graphical User Interfaces

Week 12: 11/21-11/23 Thanksgiving (no classes)

Week 13: 11/26-11/30 Adapters, Facades, Strategies and Decorators
Lecture 18: Adapters and Facades
Lecture 19: Strategies and Decorators
Assignment 9 due, Assignment 10 out
Code walk 4

Week 14: 12/3-12/7 Review with a case study
Assignment 10 due
Code walk 4