Course Schedule
This schedule is tentative and subject to change. The readings are from the recommended course textbook (Koffman/Wolfgang). Keep in mind that the slides 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. We also include the code examples presented in class. To import the examples follow the instructions provided at Importing Examples.
| Week | Topics | Slides/Code | Work |
|---|---|---|---|
| cmsc132 Schedule | |||
| Week #1 (May 28) |
Monday(Holiday), Introduction to OOP (Abstraction, Encapsulation), Java Language Features (Enumeration, Comparable/Comparator Interface), Abstract Classes | CourseIntro.pdf OOPAbstraction.pdf OOPAbstractionCode.zip JavaConstructsI.pdf JavaConstructsICode.zip JavaConstructsII.pdf JavaConstructsIICode.zip AbstractClassesModifiers.pdf OODesign.pdf |
|
| Week #2 (Jun 4) |
Inner Classes, Event-Driven Programming (GUI Intro), UML Lite (Lab), OO Design Intro, Testing/Program Correctness (Errors, Exceptions, Debugging), |
InnerClasses.pdf InnerClassesCode.zip GUI.pdf GUICode.zip TableExamples.zip OODesign.pdf ProgramCorrectness.pdf ExceptionCode.zip |
|
| Week #3 (Jun 11) |
Testing/Program Correctness (Cont.), Algorithmic Complexity, Generic Programming | AlgorithmicComplexityI.pdf Generics.pdf GenericsCode.zip |
|
| Week #4 (Jun 18) |
Collections, Linear Data Structures, Hashing, Sets/Maps, Algorithm Complexity II, Effective Java | Collections.pdf LinearDataStructures.pdf LinearDataStructuresCode.zip Hashing.pdf HashingCode.zip SetsMaps.pdf SetsMapsCode.zip AlgorithmicComplexityII.pdf EffectiveJava.pdf |
|
| Week #5 (Jun 25) |
Effective Java (Cont.), Recursion, Polymorphic Lists, Trees, Binary Search Trees | RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip PolymorphicListsTrees.pdf PolymorphicListCode.zip Trees.pdf BinaryTreeCode.zip |
|
| Week #6 (Jul 2) |
Binary Search Trees (Cont.), Heaps, Priority Queue, File I/O |
HeapsPriorityQueues.pdf SimplifiedListImplementation.pdf JavaIO.pdf JavaIOCode.zip |
|
| Week #7 (Jul 9) |
Software Life Cycle, Software Process Models, Problem Specification & Design Testing, Threads (Intro) | SoftwareDevelopmentSEI.pdf SoftwareProcessModelsSEII.pdf ProbSpecificationSoftArchSEIII.pdf ProgramTestingSEIV.pdf ThreadsI.pdf ThreadsII.pdf ThreadsCode.zip ProgressBar.zip |
|
| Week #8 (Jul 16) |
Threads, Synchronization, Graphs, Graph Implementation, Shortest Path | SynchronizationI.pdf SynchronizationICode.zip SynchronizationII.pdf SynchronizationIICode.zip GraphTraversal.pdf GraphImplementation.pdf DijkstrasAlgorithm.pdf DijkstrasExample.pdf PriorityQueueCode.zip |
|
| Week #9 (Jul 23) |
Sorting, Algorithm Strategies, Design Patterns I/II |
Sorting.pdf
AlgorithmStrategies.pdf
Callbacks.pdf DesignPatternsI.pdf PizzaDecoratorCode.zip DesignPatternsII.pdf VisitorCode.zip StateCode.zip |
|
| Week #10 (Jul 30) |
Networks Overview, Advanced Tree Structures | Networking.pdf JavaNetworkingCode.zip AdvancedTreeStructures.pdf |
|