Schedule (Subject to Change)

Sides may not include all the material discussed in lecture. You are responsible for any material we present in lecture, even if it does not appear in the posted slides. The schedule below is tentative and adjustments might be made throughout the semester.

Week Topics Slides Work Textbook Readings
Week #1
(Aug 26)
Course Intro, Abstraction/Encapsulation, Enumerated Types, Comparable, Debugger CourseIntro.pdf
OOPAbstraction.pdf
OOPAbstractionCode.zip
JavaConstructsI.pdf
JavaConstructsICode.zip
Eclipse installation
P1 Out (Wed)
Appendix A, B, Supplement 1, Prelude
Week #2
(Sep 2)
Inheritance InheritanceOne.pdf
InheritanceCode.zip
InheritanceTwo.pdf
InheritanceTwoCode.zip
Appendix C, Java Interlude 7
Week #3
(Sep 9)
Inheritance, Abstract Classes, Testing, Correctness, Exceptions InheritanceThree.pdf
InheritanceThreeCode.zip
TestingCorrectness.pdf
Exceptions.pdf
ExceptionsCode.zip
P2 Out (Mon)
P1 Due (Wed)
Quiz (Wed)
Java Interlude 2, 3
Week #4
(Sep 16)
Comparator Interface (Lab), Inner Classes, OO Design Intro, Levels of Copying NestedTypes.pdf
NestedTypes.zip
OODesign.pdf
JavaConstructsII.pdf
JavaConstructsIICode.zip
P2 Due (Wed)
P3 Out (Tue)
Exam #1 (Fri)
Java Interlude 4, 6
Week #5
(Sep 23)
Lambda Expressions, Cloning, Constructor/Destructor, Initialization Blocks, Algorithmic Complexity, Event-Driven Programming (Lab), JavaFX (Lab), UML (Lab) LambdaExpressions.pdf
LambdaExpressionsCode.zip
AlgorithmicComplexityI.pdf
AlgorithmicComplexityICode.zip
UMLIntro.pdf
GUIFX.pdf
GUICodeFX13.zip
P3 Due (Thu)
P4 Out (Thu)
Chapter 4, 19, Java Interlude 9
Week #6
(Sep 30)
Dynamic System/State Design Pattern (Lab), Iterator/Marker/Observer Design Patterns (Lab), Generic Programming, Collections, Linear Data Structures StatePatternDynSystems.pdf
StateCode.zip
Generics.pdf
GenericCode.zip
Collections.pdf
LinearDataStructures.pdf
LinearDataStructuresCode.zip
Quiz (Debugging) (Wed)
Java Interlude 1, 5, 8, Chapters 10, 11, 12, 17, 19
Week #7
(Oct 7)
Linear Data Structures, Memory Maps, Recursive Algorithms, File I/O, Singleton and Decorator Design Patterns, Extra/Dummy Node Approach (Lab) RecursiveAlgorithms.pdf
RecursiveAlgorithmsCode.zip
JavaIO.pdf
JavaIOCode.zip
SimplifiedListImplementation.pdf
SingletonDecoratorPatterns.pdf
PizzaDecoratorCode.zip
P4 Due (Mon)
P5 Out (Tue)
Chapter 9, 14
Week #8
(Oct 14)
Network Basics (Lab), Hashing Networking.pdf
NetworkingCode.zip
Hashing.pdf
HashingCode.zip
Exam #2 (Fri)
Supplement 2, Chapter 22, 23
Week #9
(Oct 21)
Sets / Maps, Algorithmic Complexity II, Trees SetsMaps.pdf
SetsMapsCode.zip
AlgorithmicComplexityII.pdf
Trees.pdf
LectureBinaryTreeCode.zip
P5 Due (Tue)
P6 Out (Tue)
Mid-Term Grades Due (Mon)
Chapters 24, 25, 26, 27
Week #10
(Oct 28)
Trees, Polymorphic Lists/Tree PolymorphicListsTrees.pdf
PolymorphicListsTreesCode.zip
Quiz (Wed)
Week #11
(Nov 4)
Heaps, Priority Queues, Threads HeapsPriorityQueues.pdf
ThreadsI.pdf
ThreadsICode.zip
P6 Due (Mon)
P7 Out (Mon)
Week #12
(Nov 11)
Threads, Synchronization I ThreadsII.pdf
ThreadsIICode.zip
SynchronizationI.pdf
SynchronizationICode.zip
P7 Due (Tue)
P8 Out (Tue)
Exam #3 (Fri)
Chapter 29, 30
Week #13
(Nov 18)
Synchronization II, Graphs Intro/Graph Traversals, Graph Implementation SynchronizationII.pdf
SynchronizationIICode.zip
AdvancedTreeStructures.pdf
GraphsTraversal.pdf
GraphImplementation.pdf
Quiz (Wed)
P9 Out (Fri)
Week #14
(Nov 25)
Dijkstra's Alg., Thanksgiving (no class Wed, Fri) DijkstrasAlgorithm.pdf
DijkstrasExample.pdf
PriorityQueueCode.zip
P8 Due (Mon)
Thanksgiving
Chapters 15, 16
Week #15
(Dec 2)
Sorting, Algorithm Strategies, Effective Java, Software Life Cycle (Lab), Software Process Models (Lab), Problem Specification (Lab), Design (Lab), Sorting.pdf
AlgorithmStrategies.pdf
EffectiveJava.pdf
SoftwareDevelopmentSEI.pdf
SoftwareProcessModelsSEII.pdf
ProbSpecificationSoftArchSEIII.pdf
Quiz (Mon)
P9 Due (Thu)
Course Evaluations

Chapter 28
Week #16
(Dec 9)
Final Exam Review MiscReview.pdf
All Slides / Examples
Last Day of Classes (Mon, Dec 9)
Final Exam
(Thu, Dec 12, 4pm - 6pm)
Web Accessibility