Week | Date | Lecture | Readings |
---|---|---|---|
Week 1 | Oct 7 |
Introduction Install course software and set up your dev environment Clone lab and project repos Tutorial on IntelliJ Overview of Java Language First Java Program Java primitive (native) datatypes Quick overview of fundamental programming structures Pseudocode Strings Arrays Type conversions (Integer.parseInt, etc.) Keyboard Input, etc. Random numbers Intro to objects and classes -- some basics |
Big Java, ch. 1-4 |
Week 2 | Oct 14 |
Object Basics Basic Objects, cont. Constructors Methods -- static vs. non-static, calling semantics Object Composition Packages |
Big Java, ch. 5-7 |
Week 3 | Oct 21 |
Interfaces and abstract classes Rules for interfaces and abstract classes Upcasting/downcasting Polymorphism Techniques for writing generic code |
Big Java, Ch. 8 |
Week 4 | Oct 28 |
More complex Object relationships Implementation inheritance Simple design patterns More on abstract classes Object composition |
Big Java, Ch. 9 |
Week 4 | Nov 3 |
Exceptions, Inner Classes, and the Java Event Model Origins of OOP and OOAD, waterfall vs agile. Exceptions Debugging Anonymous Innner Classes Java Event Model Reflection |
Big Java, Ch. 10-11 Optional Reading Discussion of access privileges: public, private, protected Oracle's good Java io tutorial Some examples of formatted output |
Week 6 | Nov 11 |
Object-Oriented Analysis and Design, Swing, and JavaFX Review for Midterm exam Midterm exam -- will cover Big Java chapters 1-9, 13, 19. OOAD Swing JavaFX Serialization Recursion Java 8 Streams and Behavior Parameterization |
Big Java, Ch. 13, and Ch. 19 |
Week 7 | Nov 18 |
More Java 8 More Lamdas More Behavior Parameterization More Streams Collecting data with streams Review for MT exam |
No Reading |
Week 8 | Nov 25 |
Generics and Java Design Patterns Game base introduction and features Build BlackJack console app in class - if we have time. |
Big Java, Ch. 18 |
Week 9 | Dec 2 |
Algorithms and Data Structures
Searching and Sorting Collections API Data structures Algorithms and Order-of-growth Threads Advanced Topics Collections and Threads Threads Thread-safe collections Multithreading Socket programming |
Big Java, Big Java, Ch. 15-17 |
Week 10 | Dec 9 |
Student Presentations & Awards Ceremony Finalist student presentations |
None |