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 |
Week 1 | Aug 24 | First day of class | Introduction to Course, Version Control, and GitHub | Complete Lab 0: Git before Wednesday's class Register for the interactive textbook by going to the textbook site and then register, creating a username/password for the course. Use the code Review Unix commands |
Aug 26 | Introduction to Java Start reading textbook through 1.4: Let's Look at a Java Program | |||
Aug 28 | Statically typed variables Java API Read 1.5, up to but not including List. | |||
Week 2 | Aug 31 | Control structures, command-line arguments Read textbook up through Loops and Iteration | Assignment 2 | |
Sep 02 | Control structures Read textbook up through Loops and Iteration | Assignment 3 | ||
Sep 04 | Creating classes Read textbook: "Defining Classes in Java" up to but not including Inheritance | Assignment 4 | ||
Week 3 | Sep 07 | Creating classes, cont'd; Continue in Textbook "Defining Classes in Java" up to but not including "Abstract Classes and Methods" Parameter Passing Inheritance, Polymorphism | Assignment 5 | |
Sep 09 | ||||
Sep 11 | Assignment 6 | |||
Week 4 | Sep 14 | Abstract Classes, Interfaces Packaging JavaDocs Collections, Generics Wrapper Classes Finish "Java Data Types" section in textbook | ||
Sep 16 | Assignment 7 | |||
Sep 18 | ||||
Week 5 | Sep 21 | Files | ||
Sep 23 | ||||
Sep 25 | Exam 1 | |||
Week 6 | Sep 28 | Streams Standard Error Jar Files Comparing Java, Python Introduction to Software Development
Testing, JUnit | ||
Sep 30 | Read through this overview of testing, unit testing, and JUnit and complete the reading quiz in Canvas. | |||
Oct 02 | Testing Project (due Monday) | |||
Week 7 | Oct 05 | Testing, JUnit Collaboration Coverage, White-box Testing Eclipse Plug-in (EclEmma) | ||
Oct 07 | ||||
Oct 09 | ||||
Week 8 | Oct 12 | Design in the Small - Open-Closed Principle, Code Smells, Refactoring for Readability, Maintainability, and Extensibility Readings and Resources:
Liskov Substitution Principle Readings: | ||
Oct 14 | Assignment 8: Roulette - Refactoring | |||
Oct 16 | Class suspended -- See Eclipse refactoring demo on Canvas | |||
Week 9 | Oct 19 | Design Patterns (Factories, Composite, Strategy, Observer, MVC) Head First Design Patterns Dependency Inversion Principle Animation | ||
Oct 21 | ||||
Oct 23 | Exam 2 | |||
Week 10 | Oct 26 | Analysis and Design (Analysis and Design) GUIs Handling events Swing References: | Preparation Analysis: Due Friday, October 30 | |
Oct 28 | ||||
Oct 30 | ||||
Week 11 | Nov 02 | Singleton design pattern Prototypes Eclipse Debugger Decorator Design pattern Project Design, Management | Initial implementation and demo due Monday, Nov 9 | |
Nov 04 | ||||
Nov 06 | ||||
Week 12 | Nov 09 | Designing APIs, Design Principles Project Design, Management | ||
Nov 11 | Final implementation due Thursday, Nov 19 Post analysis due Friday, Nov 20 | |||
Nov 13 | ||||
Week | Nov 16 | Final Exam Period | ||
Nov 18 | ||||
Nov 20 |