Schedule (Subject to Change)

Week Topics Lecture Slides and Code Examples Work Textbook Readings Lab Slides and Code Examples
Week #1
(Aug 30)
Course Intro, Abstraction/Encapsulation, Review of Interfaces, JCF, Iterable Interface, Enumerated Types, Comparable, etc. CourseIntro.pdf
OOPAbstraction.pdf
OOPAbstractionCode.zip
JavaConstructsI.pdf
JavaConstructsICode.zip
Eclipse installation
P1 Out(Fri)
Appendix A, B, Supplement 1, Prelude Review.zip
Week #2
(Sep 6)
Inheritance InheritanceOne.pdf
InheritanceCode.zip
InheritanceTwo.pdf
InheritanceTwoCode.zip
Appendix C, Java Interlude 7 Debugging.zip
Week #3
(Sep 13)
Inheritance, Abstract Classes, Exceptions InheritanceThree.pdf
InheritanceThreeCode.zip
Exceptions.pdf
ExceptionsCode.zip
Quiz #1 (Mon)
P1 Due (Wed)
P2 Out (Thurs)
Java Interlude 2, 3 TVCode.zip
Week #4
(Sep 20)
Testing, Correctness, Comparator Interface (Lab), Nested Types TestingCorrectness.pdf
DebuggerExampleCode.zip
NestedTypes.pdf
NestedTypes.zip
Exam #1 (Fri)
Java Interlude 4, 6 ComparatorCode.zip
Week #5
(Sep 27)
Clone Method, Levels of Copying,Initialization Blocks, Algorithmic Complexity JavaConstructsII.pdf
JavaConstructsIICode.zip
AlgorithmicComplexityI.pdf
AlgorithmicComplexityICode.zip
P2 Due (Wed)
P3 Out (Thu)
Chapter 4, 19, Java Interlude 9 SingletonDecoratorPatterns.pdf
PizzaDecoratorCode.zip
TimeStrCode.zip
CommandLine.java
Week #6
(Oct 4)
Lambda Expressions, Generic Programming, Collections, Object-Oriented design(Lab), Dynamic System/State Design Pattern (Lab) LambdaExpressions.pdf
LambdaExpressionsCode.zip
Collections.pdf
Collections.zip
Generics.pdf
GenericCode.zip
Quiz#2 (Debugging)
Java Interlude 1, 5, 8, Chapters 10, 11, 12, 17, 19 Week 6 Lab Video 1
StatePatternDynSystems.pdf
StateCode.zip
Week 6 Lab Video 2 (Only watch to 15:40)
OODesign.pdf
Week #7
(Oct 11)
Linear Data Structures, Recursive Algorithms, UML and Design (Lab) LinearDataStructures.pdf
LinearDataStructuresCode.zip
RecursiveAlgorithms.pdf
RecursiveAlgorithmsCode.zip
P3 Due (Mon)
P4 Out (Tue)
Chapter 9, 14 UMLIntro.pdf
DesignExercise.pdf
Week #8
(Oct 18)
Dummy Node LL (Lab), LL Recursive Examples, Sets/Maps ADT SetsMaps.pdf
SetsMapsCode.zip
Exam #2 (Fri)
Supplement 2, Chapter 22, 23 SimplifiedListImplementation.pdf
JCF LL
JCF List Iterator
Week #9
(Oct 25)
Algorithmic Complexity II, File I/O Networking (Lab) AlgorithmicComplexityII.pdf
JavaIO.pdf
JavaIOCode.zip
P4 Due (Tue)
P5 Out (Tue)
Chapters 24, 25, 26, 27 Networking.pdf
NetworkingCode.zip
MapsWorksheet.pdf
Week #10
(Nov 1)
Hash Tables Hashing.pdf
HashingCode.zip
Quiz#3 (Wed)
LLlab.pdf
Week #11
(Nov 8)
Polymorphic Lists (Lab), Trees, BST, Heaps, Priority Queues Trees.pdf
LectureBinaryTreeCode.zip
HeapsPriorityQueues.pdf
P5 Due (Tue)
P6 Out (Thurs)
PolymorphicListsTreesCode.zip
Week #12
(Nov 15)
More on Heaps,Intro to Threads ThreadsI.pdf
ThreadsICode.zip

Exam #3 (Fri)
Chapter 29, 30 PolymorphicListsTrees.pdf
HashingListsSetWorksheet.pdf
Week #13
(Nov 22)
Threads and Synchronization, Thanksgiving (no class Wed, Fri) ThreadsII.pdf
ThreadsIICode.zip
SynchronizationI.pdf
SynchronizationICode.zip
SynchronizationII.pdf
SynchronizationIICode.zip
P6 Due (Mon)
P7 Out(Tue) Thanksgiving
Week #14
(Nov 29)
Graphs Intro/Graph Traversals, Graph Implementation, Dijkstra's Alg. GraphsTraversal.pdf
GraphImplementation.pdf
DijkstrasAlgorithm.pdf
DijkstrasExample.pdf
PriorityQueueCode.zip
Quiz #4 (Wed)
P8 Out(Thurs)
Chapters 15, 16 HeapExercise.pdf
TreesBigOWorksheet.zip
Week #15
(Dec 6)
Sorting Sorting.pdf
P7 Due (Mon)
Quiz #5 (Wed)
Course Evaluations

Chapter 28 AdvancedTrees.pdf
RegularExpressions.pdf
RegularExpressionsExample.zip
JavaReflections.pdf
ReflectionLab.zip
JavaStreams.pdf
StreamsCodeExample.zip
Week #16
(Dec 13)
Final Exam Review (Lab), Optional online lecture on Threads MoreOnThreads.pdf
ExtraThreadExamples.zip
P8 Due(Mon)
Last Day of Classes (Mon, Dec 13)
Final Exam
(Thu, Dec 16, 4pm - 6pm)
Web Accessibility