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 (Jan 25) |
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 (Feb 1) |
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 (Feb 8) |
Blizzard 2010 | ||||
| Week #4 (Feb 15) |
Testing, Program Correctness (Cont.), Inner Classes, Event-Driven Programming (GUI Intro) | Appendix C |
InnerClasses.pdf InnerClassesCode.zip GUI.pdf GUICode.zip |
|
|
| Week #5 (Feb 22) |
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 #6 (Mar 1) |
Linear Data Structures (Cont.), Generic Programming, Sets, Maps, Hashing | Chapter 9 | Generics.pdf GenericsCode.zip Hashing.pdf HashingCode.zip SetsMaps.pdf SetsMapsCode.zip |
|
|
| Week #7 (Mar 8) |
Recursion, Trees, Binary Search Trees, Heaps, Priority Queues | Chapter 7, 8 | RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip TreesBST.pdf BinaryTreeCode.zip PolymorphicListCode.zip HeapsPriorityQueues.pdf |
|
|
| Spring Break Week (March15→March19)-wedontprogram@we.will.be.at.the.beach.com | |||||
| Week #8 (Mar 22) |
Trees |
|
|||
| Week #9 (Mar 29) |
Java I/O, Network Basics, Software Development | Appendix A | JavaIO.pdf JavaIOCode.zip Networking.pdf JavaNetworkingCode.zip SoftwareDevelopmentSEI.pdf SoftwareProcessModelsSEII.pdf |
|
|
| Week #10 (Apr 5) |
Software Development, Software Life Cycle, Software Process Models, Problem Specification & Design, Object-Oriented (00) Design | Chapters 1,2 |
SimplifiedListImplementation.pdf
ProblemSpecificationDesignSEIII.pdf
ProgramTestingSEIV.pdf
ObjectOrientedDesignSEV.pdf
|
|
|
| Week #11 (Apr 12) |
Unified Modeling Language (UML), Threads & Synchronization | Chapter 3, Appendix B |
UMLSEVI.pdf Threads.pdf ThreadsCode.zip ProgressBar.zip Synchronization.pdf SynchronizationCode.zip |
|
|
| Week #12 (Apr 19) |
Synchronization, Graphs, Graph Traversals, Shortest Path |
GraphTraversal.pdf
DijkstrasAlgorithm.pdf DijkstrasExample.pdf GraphImplementation.pdf PriorityQueueCode.zip |
|
||
| Week #13 (Apr 26) |
Sorting, Algorithm Strategies | Chapter 10, 12 | Sorting.pdf AlgorithmStrategies.pdf GraphSpanningTree.pdf (Only 132H) AdvancedTrees.pdf (Only 132H) |
|
|
| Week #14 (May 3) |
Design Patterns |
DesignPatternsI.pdf
PizzaDecoratorCode.zip
DesignPatternsII.pdf VisitorCode.zip StateCode.zip Callbacks.pdf |
|
||
| Week #15 (May 10) |
Effective Java, Miscellaneous, Final Exam Review |
EffectiveJavaI.pdf EffectiveJavaII.pdf AdvancedConcurrency.pdf (Only 132H) |
|
||