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 Jan 23 |
Course Intro, Introduction to OOP (Abstraction, Encapsulation) |
CourseIntro.pdf OOPAbstraction.pdf OOPAbstractionCode.zip |
|
| Week #2 Jan 30 |
Java Language Features (Enumeration, Comparable/Comparator Interface)(I/II) | JavaConstructsI.pdf JavaConstructsICode.zip JavaConstructsII.pdf JavaConstructsIICode.zip |
|
| Week #3 Feb 6 |
Abstract Classes, OO Design Intro, Testing/Program Correctness (Errors, Exceptions, Debugging) | AbstractClassesModifiers.pdf OODesign.pdf ProgramCorrectness.pdf ExceptionCode.zip |
|
| Week #4 Feb 13 |
Inner Classes, Event-Driven Programming (GUI Intro), UML Lite (Lab) | InnerClasses.pdf InnerClassesCode.zip GUI.pdf GUICode.zip |
|
| Week #5 Feb 20 |
Algorithmic Complexity, Generic Programming, Collections, Linear Data Structures (Linked lists, Stacks, Queues) | AlgorithmicComplexityI.pdf Generics.pdf GenericsCode.zip Collections.pdf LinearDataStructures.pdf LinearDataStructuresCode.zip |
|
| Week #6 Feb 27 |
Linear Data Structures Cont., Hashing, Sets/Maps | Hashing.pdf HashingCode.zip SetsMaps.pdf SetsMapsCode.zip |
|
| Week #7 Mar 5 |
Algorithmic Complexity II, Effective Java, Recursion | AlgorithmicComplexityII.pdf EffectiveJava.pdf RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip |
|
| Week #8 Mar 12 |
Recursion Cont., Polymorphic Lists/Trees | Trees.pdf BinaryTreeCode.zip PolymorphicListsTrees.pdf PolymorphicListCode.zip |
|
| Spring Break 2012 (Mon Mar 19 → Fri Mar 23) | |||
| Week #9 Mar 26 |
Trees Cont., File I/O, Midterm (lecture) | JavaIO.pdf JavaIOCode.zip |
|
| Week #10 Apr 2 |
Heaps, Networking Basics, Software Life Cycle | HeapsPriorityQueues.pdf Networking.pdf JavaNetworkingCode.zip SoftwareDevelopmentSEI.pdf |
|
| Week #11 Apr 9 |
Software Process Models, Program Specification and Design, Software Testing, Threads Intro | SimplifiedListImplementation.pdf SoftwareProcessModelsSEII.pdf ProbSpecificationSoftArchSEIII.pdf ProgramTestingSEIV.pdf |
|
| Week #12 Apr 16 |
Threads(I/II), Synchronization (I/II) | ThreadsI.pdf ThreadsII.pdf ThreadsCode.zip ProgressBar.zip SynchronizationI.pdf SynchronizationICode.zip SynchronizationII.pdf SynchronizationIICode.zip |
|
| Week #13 Apr 23 |
Graphs, Graph Implementation, Shortest Path | GraphTraversal.pdf GraphImplementation.pdf DijkstrasAlgorithm.pdf DijkstrasExample.pdf PriorityQueueCode.zip |
|
| Week #14 Apr 30 |
Sorting, Algorithm Strategies, Design Patterns I/II | Callbacks.pdf Sorting.pdf AlgorithmStrategies.pdf DesignPatternsI.pdf PizzaDecoratorCode.zip DesignPatternsII.pdf VisitorCode.zip StateCode.zip |
|
| Week #15 May 7 |
Miscellaneous, Advanced Tree Structures, Advanced Concurrency | Miscellaneous.pdf AdvancedTreeStructures.pdf AdvancedConcurrency.pdf |
|