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 21 |
Wed Jan 23 (First Day Classes), Course Intro, Introduction to OOP (Abstraction, Encapsulation) |
CourseIntro.pdf OOPAbstraction.pdf OOPAbstractionCode.zip |
|
| Week #2 Jan 28 |
Java Language Features (Enumeration, Comparable/Comparator Interface)(I/II), Abstract Classes | JavaConstructsI.pdf JavaConstructsICode.zip JavaConstructsII.pdf JavaConstructsIICode.zip AbsClassesModifiers.pdf AbsClassesModifiersCode.zip |
|
| Week #3 Feb 4 |
Abstract Classes (Cont.), OO Design Intro, Testing/Program Correctness (Errors, Exceptions, Debugging) | OODesign.pdf ProgramCorrectness.pdf ExceptionCode.zip |
|
| Week #4 Feb 11 |
Program Correctness (Cont.), Inner Classes, Event-Driven Programming (GUI Intro), UML Lite (Lab) | InnerClasses.pdf InnerClassesCode.zip GUI.pdf GUICode.zip |
|
| Week #5 Feb 18 |
Event-Driven Programming (GUI Intro) (Cont.), Algorithmic Complexity, Generic Programming, Collections | AlgorithmicComplexityI.pdf Generics.pdf GenericsCode.zip Collections.pdf |
|
| Week #6 Feb 25 |
Linear Data Structures (Linked lists, Stacks, Queues), Hashing, Sets/Maps | LinearDataStructures.pdf LinearDataStructuresCode.zip Hashing.pdf HashingCode.zip SetsMaps.pdf SetsMapsCode.zip |
|
| Week #7 Mar 4 |
Algorithmic Complexity II, Effective Java, Recursion | AlgorithmicComplexityII.pdf EffectiveJava.pdf RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip |
|
| Week #8 Mar 11 |
Recursion Cont., Polymorphic Lists/Trees, JavaScript (for fun, you are not responsible for the JavaScript material) | Trees.pdf LectureBinaryTreeCode.zip PolymorphicListsTrees.pdf LecturePolymorphicListCode.zip JavaScriptIntro.pdf JavaScriptIntroCode.zip |
|
| Spring Break 2013 (Sun Mar 17 → Sun Mar 24) | |||
| Week #9 Mar 25 |
Trees Cont., Heaps/Priority Queues | HeapsPriorityQueues.pdf |
|
| Week #10 Apr 1 |
File I/O, Software Life Cycle | SimplifiedListImplementation.pdf JavaIO.pdf JavaIOCode.zip SoftwareDevelopmentSEI.pdf |
|
| Week #11 Apr 8 |
Software Process Models, Program Specification and Design, Software Testing, Threads Intro | SoftwareProcessModelsSEII.pdf ProbSpecificationSoftArchSEIII.pdf ProgramTestingSEIV.pdf ThreadsI.pdf ThreadsII.pdf ThreadsCode.zip ProgressBar.zip |
|
| Week #12 Apr 15 |
Threads Cont., Synchronization (I/II), Graphs, Graphs Implementation | SynchronizationI.pdf SynchronizationICode.zip SynchronizationII.pdf SynchronizationIICode.zip GraphsTraversal.pdf GraphImplementation.pdf |
|
| Week #13 Apr 22 |
Graph Implementation Cont., Shortest Path, Sorting | DijkstrasAlgorithm.pdf DijkstrasExample.pdf PriorityQueueCode.zip Sorting.pdf |
|
| Week #14 Apr 29 |
Algorithm Strategies, Callbacks, Design Patterns I/II | AlgorithmStrategies.pdf Callbacks.pdf DesignPatternsI.pdf PizzaDecoratorCode.zip DesignPatternsII.pdf VisitorCode.zip StateCode.zip |
|
| Week #15 May 6 |
Advanced Tree Structures, Advanced Concurrency | AdvancedTreeStructures.pdf AdvancedConcurrency.pdf MiscReview.pdf |
|