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.

  Week   Topics Slides/Code   Work  
CMSC132 (Secs 040x) Schedule
Week #1
(Aug 31)
Course Intro, Introduction to OOP (Abstraction, Encapsulation), Abstract Classes CourseIntro.pdf
OOPAbstration.pdf
OOPAbstrationCode.zip
AbsClassesModifiers.pdf
AbsClassesModifiersCode.zip
Eclipse installation
Week #2
(Sep 7)
Java Language Features (Enumeration, Comparable/Comparator Interface)(I/II) JavaConstructsI.pdf JavaConstructsICode.zip JavaConstructsII.pdf JavaConstructsIICode.zip P1 Out (Wed)
Week #3
(Sep 14)
Levels of Copying, Cloning, Constructor/Destructor, Initialization Blocks, OO Design Intro, Inner Classes, Event-Driven Programming (GUI) OODesign.pdf InnerClasses.pdf InnerClassesCode.zip GUI.pdf GUICode.zip Q1 (Wed) P1 Due (Thu)
Week #4
(Sep 21)
Event-Driven Programming (cont.), Testing/Program Correctness (Errors, Exceptions, Debugging), Algorithmic Complexity I, (UML Lite (Lab)) ProgramCorrectness.pdf ProgramCorrectnessCode.zip AlgorithmicComplexityI.pdf P2 Out (Mon)
Week #5
(Sep 28)
Generic Programming, Collections, Linear Data Structures (Linked lists, Stacks, Queues), Intro to Hashing Generics.pdf GenericsCode.zip Collections.pdf LinearDataStructures.pdf LinearDataStructuresCode.zip P2 Due (Mon)
Q2 (Wed)
P3 Out (Fri)
Week #6
(Oct 5)
Hashing and Sets/Maps, Algorithmic Complexity II Hashing.pdf HashingCode.zip SetsMaps.pdf SetsMapsCode.zip AlgorithmicComplexityII.pdf Midterm #1 (Wed)
Week #7
(Oct 12)
Effective Java, Recursion EffectiveJava.pdf RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip Q3 (Wed)
Week #8
(Oct 19)
Trees, Polymorphic Lists/Trees Trees.pdf LectureBinaryTreeCode.zip PolymorphicListsTrees.pdf LecturePolymorphicListCode.zip P3 Due (Mon)
P4 Out (Fri)
Week #9
(Oct 26)
Heaps/Priority Queues, File I/O, Network Basics, Software Life Cycle HeapsPriorityQueues.pdf JavaIO.pdf JavaIOCode.zip SimplifiedListImplementation.pdf SoftwareDevelopmentSEI.pdf
Week #10
(Nov 2)
Software Process Models, Problem Specification & Design, Testing SoftwareProcessModelsSEII.pdf ProbSpecificationSoftArchSEIII.pdf ProgramTestingSEIV.pdf P4 Due (Tue)
P5 Out (Tue)
Q4 (Wed)
Week #11
(Nov 9)
Threads ThreadsI.pdf ThreadsICode.zip ThreadsII.pdf ThreadsIICode.zip P5 Due (Tue)
Midterm #2 (Fri)
Week #12
(Nov 16)
Synchronization I/II, Graphs Intro. SynchronizationI.pdf SynchronizationICode.zip SynchronizationII.pdf SynchronizationIICode.zip GraphsTraversal.pdf P6 Out (Mon)
Week #13
(Nov 23)
Graph Traversals, Shortest Paths, Dijkstras, Graph Implementation
GraphImplementation.pdf DijkstrasAlgorithm.pdf PriorityQueueCode.zip DijkstrasExample.pdf Thanksgiving Holiday
Week #14
(Nov 30)
Algorithm Strategies, Design Patterns(I/II) Callbacks.pdf AlgorithmStrategies.pdf DesignPatternsI.pdf PizzaDecoratorCode.zip DesignPatternsII.pdf
VisitorCode.zip
StateCode.zip
P6 Due (Tue)
P7 Out (Mon)
Q5 (Wed)
Week #15
(Dec 7)
Sorting, Advanced Concurrency, Advanced Tree Structures, Final Exam Review Sorting.pdf
AdvancedConcurrency.pdf AdvancedTreeStructures.pdf MiscReview.pdf
P7 Due (Wed)
Course Evaluations
Last Day of Classes (Fri Dec 11)
Final Exam
(Tue Dec 15, 4pm - 6pm)

Web Accessibility