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) |