This schedule is tentative and subject to change. The readings are from the 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. Notice these examples are not available from the cvs repository.
Jim Henson (University of Maryland College Park Alumnus)
| Week | Topics | Reading | Slides/Code | Work | Supplemental Honors material |
|---|---|---|---|---|---|
| cmsc132 Schedule | |||||
| Week #1 (Jan 28) |
Introduction to OOP (Abstraction, Encapsulation), Java Language Features (Enumeration, Generics, Enhanced for Loop, etc.). | Chapters 1.2, 4.1 → 4.3, Appendix A |
01-CourseIntro.pdf
Honors discussion 02-JavaConstructs.pdf 02-JavaConstructsCode.zip |
|
|
| Week #2 (Feb 4) |
Java Support for OOP, Testing, Program Correctness (Errors, Exceptions, Debugging) | Chapters 2.1, 2.6, 2.8 | JavaOOP.pdf 03-ProgramCorrectness.pdf |
|
|
| Week #3 (Feb 11) |
Algorithm Complexity (Critical Sections), Java Collections | Chapters 2.8, 4, 5, 6 | 05-AlgorithmicComplexityI.pdf 06-AlgorithmicComplexityI.pdf 07-CollectionAbstractions.pdf |
|
|
| Week #4 (Feb 18) |
Linear Data Structures (Linked lists, Stacks, Queues), Generic Programming, Sets, Maps, Hashing | Chapters 7, 9 | 08-LinearStructures.pdf 08-LinearStructuresCode.zip 09-SetsMapsHashing.pdf SetsMapsCode.zip BagsMarkovTextGen.pdf |
|
|
| Week #5 (Feb 25) |
Hashing, Recursion | Chapters 8.1→8.5, 9.3→9.5 | 10-RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip |
|
|
| Week #6 (Mar 3) |
Trees, Binary Search Trees | Chapters 8.6, 10.8 | PolymorphicListCode.zip 11-TreesBST.pdf SimplifyListImplementation.pdf |
|
Search tree rotations for balancing |
| Week #7 (Mar 10) |
Heaps, Priority Queues | Chapter 12 | 12-HeapsPriorityQueues.pdf |
|
|
| Spring Break Week (March17→March21)-wedontprogram@we.will.be.in.a.beach.com | |||||
| Week #8 (Mar 24) |
Inner Classes, Event-Driven Programming (GUI Intro) |
Chapters 1.4→1.7, 3, Appendix C | 18-InnerClasses.pdf 17-GUI.pdf GUI.zip |
|
Filthy Rich Clients
Presentation Aerith |
| Week #9 (Mar 31) |
Software Development, Software Life Cycle, Software Process Models | 19-SoftwareDevelopment.pdf 20-SoftwareProcessModels.pdf 21-ProblemSpecificationDesign.pdf |
|
Version control | |
| Week #10 (Apr 7) |
Problem Specification & Design, Object-Oriented (OO) Design, Unified Modeling Language (UML) | 22-ProgramTesting.pdf 24-ObjectOrientedDesignII.pdf 25-UML.pdf |
|
||
| Week #11 (Apr 14) |
Threads & Synchronization | 26-Threads.pdf 27-Synchronization.pdf |
|
Advanced Concurrency | |
| Week #12 (Apr 21) |
Threads, Graphs, Graph Traversals |
28-GraphTraversal.pdf
29-GraphShortestPath.pdf PriorityQueueCode.zip |
|
GraphSpanningTree.pdf | |
| Week #13 (Apr 28) |
Shortest Path, Sorting | 30-Networking.pdf JavaNetworkingCode.zip 31-Sorting.pdf |
|
Midterm honors material | |
| Week #14 (May 5) |
Design Patterns, Algorithm Strategies | 32-DesignPatternsI.pdf 33-DesignPatternsII.pdf 31-AlgorithmStrategies.pdf | P5 Due (Fri May 9) | ||
| Week #16 (May 12) |
Final Exam Review | FinalSummary.pdf |
|
||