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
(Jan 25)
Course Intro, Introduction to OOP (Abstraction, Encapsulation), Abstract Classes CourseIntro.pdf
OOPAbstration.pdf
OOPAbstrationCode.zip
AbsClassesModifiers.pdf
AbsClassesModifiersCode.zip
Eclipse installation
Week #2
(Feb 1)
Java Language Features (Enumeration, Comparable/Comparator Interface)(I/II), Levels of Copying, Cloning, Constructor/Destructor, Initialization Blocks JavaConstructsI.pdf JavaConstructsICode.zip JavaConstructsII.pdf JavaConstructsIICode.zip P1 Out (Wed)
Week #3
(Feb 8)
OO Design Intro, Inner Classes OODesign.pdf InnerClasses.pdf InnerClassesCode.zip Q1 (Wed)
P1 Due (Thu)
Week #4
(Feb 15)
Event-Driven Programming, GUI, Algorithmic Complexity I, Snow Day Monday GUI.pdf GUICode.zip AlgorithmicComplexityI.pdf P1 Due (Wed)
P2 Out (Wed)
Week #5
(Feb 22)
Testing/Program Correctness, Generic Programming, Collections, Linear Data Structures (Linked lists, Stacks, Queues) ProgramCorrectness.pdf ProgramCorrectnessCode.zip Generics.pdf GenericsCode.zip Collections.pdf LinearDataStructures.pdf LinearDataStructuresCode.zip Q2 (Wed)
P2 Due (Fri)
P3 Out (Fri)
Week #6
(Feb 29)
Hashing and Sets/Maps, Algorithmic Complexity II Hashing.pdf HashingCode.zip SetsMaps.pdf SetsMapsCode.zip AlgorithmicComplexityII.pdf Midterm #1 (Wed)
Week #7
(Mar 7)
Recursion RecursiveAlgorithms.pdf RecursiveAlgorithmsCode.zip JSIntro.pdf JSIntroCode.zip P3 Due (Wed)
Spring Break 2016 (Mar 14-Mar 18)
Week #8
(Mar 21)
Trees, Polymorphic Lists/Trees, Simplified List Implementation Trees.pdf LectureBinaryTreeCode.zip PolymorphicListsTrees.pdf LecturePolymorphicListCode.zip P4 Out (Thu)
Week #9
(Mar 28)
Heaps/Priority Queues, File I/O, Network Basics HeapsPriorityQueues.pdf JavaIO.pdf JavaIOCode.zip Q3 (Wed)
Week #10
(Apr 4)
Effective Java, Software Life Cycle, Software Process Models, Problem Specification & Design, Testing EffectiveJava.pdf SoftwareDevelopmentSEI.pdf SoftwareProcessModelsSEII.pdf ProbSpecificationSoftArchSEIII.pdf ProgramTestingSEIV.pdf P4 Due (Tue)
P5 Out (Tue)
Week #11
(Apr 11)
Threads ThreadsI.pdf ThreadsICode.zip ThreadsII.pdf ThreadsIICode.zip Midterm #2 (Fri)
Week #12
(Apr 18)
Synchronization I/II, Graphs Intro. SynchronizationI.pdf SynchronizationICode.zip SynchronizationII.pdf SynchronizationIICode.zip GraphsTraversal.pdf P6 Out (Mon) P5 Due (Wed)
Week #13
(Apr 25)
Graph Traversals, Shortest Paths, Dijkstras, Graph Implementation
GraphImplementation.pdf DijkstrasAlgorithm.pdf PriorityQueueCode.zip DijkstrasExample.pdf P6 Due (Fri)
Q4 (Wed)
P7 Out (Fri)
Week #14
(May 2)
Sorting, Algorithm Strategies, Design Patterns(I/II) Callbacks.pdf AlgorithmStrategies.pdf DesignPatternsI.pdf PizzaDecoratorCode.zip DesignPatternsII.pdf
VisitorCode.zip
StateCode.zip
Sorting.pdf
Week #15
(May 9)
Final Exam Review MiscReview.pdf JavaWebToyWebServer.zip P7 Due (Mon)
Course Evaluations

Last Day of Classes (Tue May 10)
Final Exam
(Fri May 13, 4pm - 6pm)

Web Accessibility