| Week | Day | Topics | Examples |
|---|---|---|---|
| 1 | Jan 14 | Introduction, course information. Read prior to next class: | HelloWorld.java |
| Jan 16 | Java Basics. Lab 1 and 2. Read prior to next class: | Linux Commands Cheat Sheet | |
| Jan 18 | Java Classes. Read Prior to next class: | Line2D | |
| 2 | Jan 21 | MLK Day: NO CLASS | |
| Jan 23 | Java Objects and References. Read prior to next class: | Compare Strings | |
| Jan 25 | Breaking a Problem into Classes | Book catalog | |
| 3 | Jan 28 | Java Inheritance Concepts - POGIL Activity. Read prior to next class: | |
| Jan 30 | Inheritance.Read prior to next class: | ||
| Feb 1 | Java Inheritance Details POGIL Activity | ||
| 4 | Feb 4 | Inheritance DOs and Don'ts | |
| Feb 6 | Polymorphism with abstract classes. Read Abstract Class in Java example | ||
| Feb 8 |
Interfaces. Read Chapter on Interfaces including
|
Projector Example | |
| 5 | Feb 11 | Exception Handling. Read | Coding standards |
| Feb 13 | Object Oriented Design Practice | UML Diagram | |
| Feb 15 | Introduction to Java SWING API | swingIntro directory in git | |
| 6 | Feb 18 | SWING Event Handling | EventDemo.java, EventDemoLocal.java |
| Feb 20 | Building Tic Tac Toe with SWING API | Check tic_tac_toe directory in your git repos | |
| Feb 22 | Building Tic Tac Tow with SWING API Part 2 | ||
| 7 | Feb 25 | Finishing the Tic Tac Toe | |
| Feb 27 | Practical Examples of Java Interfaces. Additional reading: | ||
| March 1 | Java Generics and Collections POGIL | ||
| 8 | March 4 | Java Generics exercises. Read Java Generics Totorial | |
| March 6 | Midterm Exam | ||
| March 8 | Iterator Design Pattern Additional Reading |
||
| 9 | March 11-15 | SPRING BREAK: No Classes | |
| 10 | March 18 |
Model View Controller Design Pattern Additional Reading with Example |
mathQuizMVC in git repos |
| March 20 |
Observer Design Pattern Additional Reading with Example |
mathQuizObserver in git repos | |
| March 22 |
Strategy Design Pattern Additional Reading with Example |
Shopping Cart | |
| 11 | March 25 | Team Project Kick-off Form project teams. Team work and communication. Project Ideas |
Requirements Document Example |
| March 27 | Factory, Abstract Factory, Decorator design patterns | Payment Strategy Factory | |
| March 29 | [Initial requirements document is due] Requirements peer-review. | ||
| 12 | April 1 |
[Updated requirements document is due] Java Unit Testing 1 POGIL (link in your email) |
|
| April 3 |
Unit Testing. Additional Reading. Set up JUnit testing environment prior to next class. |
||
| April 5 |
Team work with git Unit Test Challenge: test the Balloon class. |
Check balloonTest directory in your git repos. | |
| 13 | April 8 |
Guest speaker [Prototypes and design are due] |
|
| April 10 |
Serializable objects Additional Reading |
tic_tac_toe/serializablePlayer in your git repos | |
| April 12 | Team project interface design. | ||
| 14 | April 15 | Interface Segregation Principle (ISP) | ISP Exersise |
| April 17 |
Dependency Inversion Principle (DIP) [Core logic and unit tests are due] |
DIP Exersise | |
| April 19 | EASTER BREAK: No Class | ||
| 15 | April 22 | EASTER BREAK: No Class | |
| April 24 | Multi-Threaded Applications with Java |
Runnable Thread |
|
| April 26 | Client-Server Applications | ||
| 16 | April 29 | Basic Chat Application | Project Presentation Information |
| May 1 | More improvements to the Chat Application | ||
| May 3 |
[FULLY FUNCTIONAL PROJECTS ARE DUE] Team project demos |
||
| 17 | May 6 | Team project demos | |
| May 10 |
Take home final exam is due by 2pm. Final Exam Information CSCI 2300 Spring 2019: Take Home Final Exam Agreement |