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.
Jim Henson (University of Maryland College Park
Alumnus)
| Week | Topics | Reading | Slides/Code | Work | |
|---|---|---|---|---|---|
| cmsc132 Schedule | |||||
| Week #1 (Aug 31) |
Introduction to OOP (Abstraction, Encapsulation), Java Support for OOP, Java Language Features (Enumeration, Comparable/Comparator Interface), Abstract Classes | Chapters 1.2, 4.1 → 4.3, Appendix A |
CourseIntro.pdf OOPAbstraction.pdf OOPAbstractionCode.zip JavaConstructs.pdf JavaConstructsCode.zip AbstractClasses.pdf |
|
|
| Week #2 (Sep 7) |
Abstract Classes, Java Support for OOP, Testing, Program Correctness (Errors, Exceptions, Debugging) | Chapter 2.1 → 2.7, Appendix A | JavaOOP.pdf JavaOOPCode.zip ProgramCorrectness.pdf ExceptionCode.zip |
|
|
| Week #3 (Sep 14) |
Testing, Program Correctness (Cont.), Inner Classes, Event-Driven Programming (GUI Intro) | Appendix C |
InnerClasses.pdf InnerClassesCode.zip GUI.pdf GUICode.zip |
|
|
| Week #4 (Sep 21) |
Algorithmic Complexity, Java Collections, Linear Data Structures (Linked lists, Stacks, Queues), Generic Programming | Chapters 4, 5, 6 |
AlgorithmicComplexity.pdf AlgorithmicComplexityII.pdf CollectionAbstractions.pdf LinearDataStructures.pdf LinearDataStructuresCode.zip LinkedListCode.zip |
|
|
| Week #5 (Sep 28) |
Generic Programming, Sets, Maps, Hashing, Recursion | Chapter 9 | Generics.pdf GenericsCode.zip Hashing.pdf HashingCode.zip SetsMaps.pdf SetsMapsCode.zip RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip |
|
|
| Week #6 (Oct 5) |
Trees, Binary Search Trees, Heaps, Priority Queues, File I/O | Chapter 7, 8 | TreesBST.pdf BinaryTreeCode.zip PolymorphicListCode.zip HeapsPriorityQueues.pdf JavaIO.pdf JavaIOCode.zip |
|
|
| Week #7 (Oct 12) |
File I/O, Network Basics, Software Development | Networking.pdf JavaNetworkingCode.zip SoftwareDevelopmentSEI.pdf |
|
||
| Week #8 (Oct 19) |
Software Development | Appendix A | SoftwareProcessModelsSEII.pdf SimplifiedListImplementation.pdf |
|
|
| Week #9 (Oct 26) |
Software Development, Software Life Cycle, Software Process Models, Problem Specification & Design, Object-Oritned (00) Design | Chapters 1,2 |
ProblemSpecificationDesignSEIII.pdf
ProgramTestingSEIV.pdf
ObjectOrientedDesignSEV.pdf
Guest Speaker |
|
|
| Week #10 (Nov 2) |
Unified Modeling Language (UML), Threads & Synchronization | Chapter 3, Appendix B |
UMLSEVI.pdf Threads.pdf ThreadsCode.zip ProgressBar.zip Synchronization.pdf SynchronizationCode.zip |
|
|
| Week #11 (Nov 9) |
Graphs, Graph Traversals, Shortest Path |
GraphTraversal.pdf
DijkstrasAlgorithm.pdf GraphImplementation.pdf PriorityQueueCode.zip CompressionHuffman.pdf |
|
||
| Week #12 (Nov 16) |
Video "Hackers: Outlaws and Angels", Spanning Trees, Advanced Trees, Regular Expressions | Chapter 12 | GraphSpanningTree.pdf AdvancedTrees.pdf RegularExpressions.pdf AdvancedConcurrency.pdf |
|
|
| Week #13 (Nov 23) |
Sorting Thanksgiving Holiday (Thu/Nov 26 and Fri/Nov 27) |
Chapter 10, 12 | Sorting.pdf JavaScript.pdf JavaScriptCode.zip |
|
|
| Week #14 (Nov 30) |
Algorithm Strategies, Design Patterns |
AlgorithmStrategies.pdf
DesignPatternsI.pdf
PizzaDecoratorCode.zip
DesignPatternsII.pdf VisitorCode.zip StateCode.zip |
|
||
| Week #15 (Dec 7) |
Effective Java, Miscellaneous, Final Exam Review |
Callbacks.pdf
EffectiveJavaI.pdf EffectiveJavaII.pdf |
|
||