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 | |
|---|---|---|---|---|---|
| cmsc132 Schedule | |||||
| Week #1 (Jun 2) |
Introduction to OOP (Abstraction, Encapsulation), Java Language Features (Enumeration, Generics, Enhanced for Loop), File I/O, Java Support for OOP. |
Chapters 1.2, 2.1→2.4, 2.6, 3, Appendix A |
CourseIntro.pdf
JavaConstructs.pdf JavaConstructsCode.zip JavaIO.pdf JavaIOCode.zip JavaOOP.pdf JavaOOPCode.zip TestCoverage.pdf |
|
|
| Week #2 (Jun 9) |
Java Support of OOP (Cont.), Testing, Program Correctness (Errors, Exceptions, Debugging), Algorithm Complexity (Critical Sections), Java Collections |
Chapters 2.8, 4.1→4.5, 5, 6 |
ProgramCorrectness.pdf AlgorithmicComplexityI.pdf AlgorithmicComplexityII.pdf CollectionAbstractions.pdf |
|
|
| Week #3 (Jun 16) |
Linear Data Structures (Linked lists, Stacks, Queues), Generic Programming, Sets, Maps, Hashing | Chapters 7, 9 | LinearStructures.pdf LinearStructuresCode.zip Generics.pdf GenericsCode.zip SetsMapsHashing.pdf SetsMapsHashingCode.zip |
|
|
| Week #4 (Jun 23) |
Recursion, Trees, Binary Search Trees, Heaps, Priority Queues | Chapters 8, 10.8 | RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip TreesBST.pdf PolymorphicListCode.zip HeapsPriorityQueues.pdf |
|
|
| Week #5 (Jun 30) |
Inner Classes, Event-Driven Programming (GUI Intro) | Chapter 1,2 Appendix C |
InnerClasses.pdf GUI.pdf GUICode.zip |
| |
| Week #6 (Jul 7) |
Software Development, Software Life Cycle, Software Process Models, Problem Specification & Design, Object-Oriented (OO) Design, Unified Modeling Language (UML Class Diagrams) | Chapters 1,2,3.1,3.5, Appendix B | SoftwareDevelopmentSEI.pdf SoftwareProcessModelsSEII.pdf ProblemSpecificationDesignSEIII.pdf ProgramTestingSEIV.pdf ObjectOrientedDesignSEV.pdf UMLSEVI.pdf SimplifyListImplementation.pdf GUIMenusFileChooserCode.zip ProgressBarExample.java |
|
|
| Week #7 (Jul 14) |
Unified Modeling Language (UML Class Diagrams), Threads & Synchronization | Threads.pdf ThreadsCode.zip Synchronization.pdf SynchronizationCode.zip |
| ||
| Week #8 (Jul 21) |
Graphs, Graph Traversals, Shortest Path, Algorithm Strategies | Chapter 12.1→12.5 |
Networking.pdf
JavaNetworkingCode.zip
AlgorithmStrategies.pdf
GraphTraversal.pdf
GraphShortestPath.pdf PriorityQueueCode.zip |
|
|
| Week #9 (Jul 28) |
Sorting, Design Patterns, Effective Java | Chapter 10, 12.6 |
Sorting.pdf DesignPatternsI.pdf DecoratorCode.zip DecoratorCodeV2.zip DesignPatternsII.pdf VisitorCode.zip StateCode.zip EffectiveJavaI.pdf |
| |
| Week #10 (Aug 4) |
Effective Java, Miscellaneous (Huffman, Spanning, and Advanced Trees are not part of the final exam), Review | EffectiveJavaII.pdf AdvancedTrees.pdf GraphSpanningTree.pdf CompressionHuffman.pdf FinalSummary.pdf |
|
||