Course Schedule
This schedule is tentative and subject to change. 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 (Revalidate HTML) | |||
| Week #1 Aug 29 |
Course Intro, Introduction to OOP (Abstraction, Encapsulation) |
CourseIntro.pdf OOPAbstraction.pdf OOPAbstractionCode.zip |
|
| Week #2 Sep 5 |
Java Language Features (Enumeration, Comparable/Comparator Interface)(I/II) | JavaConstructsI.pdf JavaConstructsICode.zip JavaConstructsII.pdf JavaConstructsIICode.zip |
|
| Week #3 Sep 12 |
Abstract Classes, OO Design Intro, Testing/Program Correctness (Errors, Exceptions, Debugging) | AbstractClassesModifiers.pdf OODesign.pdf ProgramCorrectness.pdf ExceptionCode.zip |
|
| Week #4 Sep 19 |
Inner Classes, Event-Driven Programming (GUI Intro), Algorithmic Complexity I, (UML Lite (Lab)) | InnerClasses.pdf InnerClassesCode.zip GUI.pdf GUICode.zip AlgorithmicComplexityI.pdf |
|
| Week #5 Sep 26 |
Generic Programming, Collections, Linear Data Structures (Linked lists, Stacks, Queues), Intro to Hashing | Generics.pdf GenericsCode.zip Collections.pdf LinearDataStructures.pdf LinearDataStructuresCode.zip |
|
| Week #6 Oct 3 |
Hashing and Sets/Maps, Algorithmic Complexity II, Effective Java | Hashing.pdf HashingCode.zip SetsMaps.pdf SetsMapsCode.zip AlgorithmicComplexityII.pdf EffectiveJava.pdf |
|
| Week #7 Oct 10 |
Recursion, Trees | RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip Trees.pdf BinaryTreeCode.zip |
|
| Week #8 Oct 17 |
Polymorphic Lists/Trees, Heaps/Priority Queues | PolymorphicListsTrees.pdf PolymorphicListCode.zip HeapsPriorityQueues.pdf SimplifiedListImplementation.pdf |
|
| Week #9 Oct 24 |
File I/O, Network Basics, Software Life Cycle | JavaIO.pdf JavaIOCode.zip Networking.pdf JavaNetworkingCode.zip SoftwareDevelopmentSEI.pdf |
|
| Week #10 Oct 31 |
Software Process Models, Problem Specification & Design, Testing | SoftwareProcessModelsSEII.pdf ProbSpecificationSoftArchSEIII.pdf ProgramTestingSEIV.pdf |
|
| Week #11 Nov 7 |
Threads, Synchronization(I) | ThreadsI.pdf ThreadsII.pdf ThreadsCode.zip ProgressBar.zip SynchronizationI.pdf SynchronizationICode.zip |
|
| Week #12 Nov 14 |
Synchronization(II), Graphs, Graph Traversals, Shortest Path, Graph Implementation | SynchronizationII.pdf SynchronizationIICode.zip GraphTraversal.pdf DijkstrasAlgorithm.pdf DijkstrasExample.pdf GraphImplementation.pdf PriorityQueueCode.zip |
|
| Week #13 Nov 21 |
Sorting,(JavaScript Overview - Special Presentation, Optional) Thanksgiving Holiday (Thu/Nov 24 and Fri/Nov 25) |
Sorting.pdf JavaScriptI.pdf JavaScriptICode.zip JavaScriptII.pdf JavaScriptIICode.zip |
|
| Week #14 Nov 28 |
Algorithm Strategies, Design Patterns(I/II) |
Callbacks.pdf
AlgorithmStrategies.pdf
DesignPatternsI.pdf
PizzaDecoratorCode.zip
DesignPatternsII.pdf VisitorCode.zip StateCode.zip |
|
| Week #15 Dec 5 |
Advanced Tree Structures, Compression, Spanning Trees, Advanced Concurrency | AdvancedTreeStructures.pdf CompressionHuffman.pdf GraphSpanningTree.pdf AdvancedConcurrency.pdf Miscellaneous.pdf |
|
| Week #16 Dec 12 |
Markov Text Generation, Final Exam Review | MarkovTextGeneration.pdf FinalSummary.pdf |
|