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. Code examples can be found in the grace cluster (public directory).

Week Topics Slides Work Textbook Readings
Week #1
(Aug 27)
Course Intro, Abstraction/Encapsulation, Enumerated Types, Comparable, Debugger CourseIntro.pdf
OOPAbstraction.pdf
OOPAbstractionCode.zip
ArrayListInterfacesCode.zip
JavaConstructsI.pdf
JavaConstructsICode.zip
Eclipse installation
P1 Out (Thu)
Appendix A, B, Supplement 1, Prelude
Week #2
(Sep 3)
Inheritance InheritanceOne.pdf
InheritanceCode.zip
InheritanceTwo.pdf
InheritanceTwoCode.zip
Appendix C, Java Interlude 7
Week #3
(Sep 10)
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 17)
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 24)
Cloning, Constructor/Destructor, Initialization Blocks, Lambda Expressions, Algorithmic Complexity, Event-Driven Programming (Lab), JavaFX (Lab), UML (Lab) LambdaExpressions.pdf
LambdaExpressionsCode.zip
AlgorithmicComplexityI.pdf
AlgorithmicComplexityCode.zip
UMLIntro.pdf
GUI.pdf
GUICode.zip
P3 Due (Thu)
P4 Out (Thu)
Chapter 4, 19, Java Interlude 9
Week #6
(Oct 1)
Dynamic System/State Design Pattern (Lab), Iterator/Marker/Observer Design Patterns (Lab), Generic Programming, Collections, Linear Data Structures StatePatternDynSystems.pdf
StateCode.zip
Generics.pdf
GenericsCode.zip
Collections.pdf
LinearDataStructures.pdf
LinearDataStructuresCode.zip
Quiz (Debugging) (Wed/Thu)
Java Interlude 1, 5, 8, Chapters 10, 11, 12, 17, 19
Week #7
(Oct 8)
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 15)
Network Basics (Lab), Hashing, Sets/Maps Networking.pdf
NetworkingCode.zip
Hashing.pdf
HashingCode.zip
SetsMaps.pdf
SetsMapsCode.zip
Exam #2 (Fri)
Supplement 2, Chapter 22, 23
Week #9
(Oct 22)
Algorithmic Complexity II, Trees AlgorithmicComplexityII.pdf
Trees.pdf
LectureBinaryTreeCode.zip
P5 Due (Mon)
P6 Out (Mon)
Mid-Term Grades Due (Mon)
Quiz (Wed)
Chapters 24, 25, 26, 27
Week #10
(Oct 29)
Trees, Polymorphic Lists/Tree PolymorphicListsTrees.pdf
PolymorphicListsTreesCode.zip
P6 Due (Thu)
P7 Out (Thu)
Week #11
(Nov 5)
Heaps, Priority Queues, Threads HeapsPriorityQueues.pdf
ThreadsI.pdf
ThreadsICode.zip
ThreadsII.pdf
ThreadsIICode.zip
Quiz (Wed)
Week #12
(Nov 12)
Synchronization I/II, Graphs Intro/Graph Traversals SynchronizationI.pdf
SynchronizationICode.zip
SynchronizationII.pdf
SynchronizationIICode.zip
P7 Due (Mon)
P8 Out (Mon)
Exam #3 (Fri)
Chapter 29, 30
Week #13
(Nov 19)
Graphs Intro/Graph Traversals, Thanksgiving (no class Wed, Fri) GraphsTraversal.pdf
Thanksgiving
Week #14
(Nov 26)
Dijkstra's Alg., Sorting, Graph Implementation (Lab), Software Life Cycle, Software Process Models, Problem Specification Design DijkstrasAlgorithm.pdf
DijkstrasExample.pdf
PriorityQueueCode.zip
GraphImplementation.pdf
Sorting.pdf
P8 Due (Tue)
P9 Out (Tue)
Chapters 15, 16
Week #15
(Dec 3)
Effective Java, Algorithm Strategies EffectiveJava.pdf
AlgorithmStrategies.pdf
MiscReview.pdf
P9 Due (Thu)
Course Evaluations

Chapter 28
Week #16
(Dec 10)
Final Exam Review Last Day of Classes (Mon Dec 10)
Final Exam
(Thu Dec 13, 4pm - 6pm)
Web Accessibility