CMSC 132 -- Object Oriented Programming II

Sections 020x/030x -- Spring 2011

Fear the Turtle!

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 slides. Coding examples will be sent to your CVS repository.

Week Topics Reading Slides Work
Week #1
(Jan 24)
Introduction to OOP (Abstraction, Encapsulation), Java Language Features (Enumeration, Comparable/Comparator Interface) Chapters 1.2, 4.1 → 4.3, Appendix A CourseIntro.pdf
OOPAbstraction.pdf
JavaConstructs.pdf
  • Eclipse installation
  • Project#1 Out (Thu/Jan 29)
Week #2
(Jan 31)
Abstract Classes, Java Support for OOP, Testing, Program Correctness (Errors, Exceptions, Debugging) Chapter 2.1 → 2.7, Appendix A AbstractClasses.pdf
OOPAbstraction.pdf
  • Project #1 Due (Friday)
  • Project #2 Out (Thursday)
Week #3
(Feb 7)
Testing, Program Correctness (Cont.), Inner Classes, Event-Driven Programming (GUI Intro) Appendix C ProgramCorrectness.pdf
InnerClasses.pdf
GUI.pdf
  • Quiz #1 (Wednesday)
Week #4
(Feb 14)
Algorithmic Complexity, Java Collections, Linear Data Structures (Linked lists, Stacks, Queues) Chapters 4, 5, 6 AlgorithmicComplexityI.pdf
AlgorithmicComplexityII.pdf
CollectionAbstractions.pdf
  • Project #2 due (Wednesday)
  • Project #3 out (Saturday 2/19)
Week #5
(Feb 21)
Linear Data Structures (Cont.), Generic Programming, Hashing, Sets, Maps Chapter 9 LinearStructures.pdf
Generics.pdf
Hashing.pdf
SetsMaps.pdf
  • Project #3 due (Sunday 2/27)
  • Project #4 out (Sunday 2/27)
Week #6
(Feb 28)
Recursion, Trees, Binary Search Trees Chapter 7, 8 RecursiveAlgorithms.pdf
  • Quiz #2 (Wednesday)
Week #7
(Mar 7)
Binary Search Trees (Cont.) Chapter 8 TreesBST.pdf
  • Project #4 due (Tuesday 3/8)
Week #8
(Mar 14)
File I/O, Heaps, Priority Queues Appendix A HeapsPriorityQueues.pdf
JavaIO.pdf
Midterm Exam (Wednesday 3/16 in lab)
Spring Break (March21→March25)
Week #9
(Mar 28)
Network Basics, Software Development, Software Life Cycle, Software Process Models Chapters 1,2 Networking.pdf
SoftwareDevelopementI.pdf
SoftwareProcessModelsSEII.pdf
  • Project #5 due Tuesday, 3/29
  • Project #6 distributed
Week #10
(Apr 4)
Problem Specification & Design, Object-Oriented (OO) Design, Unified Modeling Language (UML) Chapter 3, Appendix B
ProblemSpecificationDesignSEIII.pdf
ProgramTestingSEIV.pdf
ObjectOrientedDesignSEV.pdf
UMLSEVI.pdf
  • Quiz #3, Wednesday
  • Project #6 due Saturday, 4/9
  • Project #7 distributed
Week #11
(Apr 11)
Threads & Synchronization Threads.pdf
Synchronization.pdf
Week #12
(Apr 18)
Graphs, Graph Traversals, Shortest Path Chapter 12 GraphTraversal.pdf
DijkstrasAlgorithm.pdf
GraphImplementation.pdf
  • Project #7 due Saturday 4/23
  • Quiz #4 Wednesday 4/27
  • Project #8 distributed
Week #13
(Apr 25)
Sorting, Algorithm Strategies, Design Patterns
Chapter 10, 12 Sorting.pdf
AlgorithmStrategies.pdf
Week #14
(May 2)
Design Patterns, Callbacks, Effective Java, Course Evaluations DesignPatternsI.pdf
DesignPatternsII.pdf
  • Project #8 due Saturday 5/8
  • Quiz #5 on Wednesday
Week #15
(May 9)
Effective Java, Miscellaneous, Final Exam Review EffectiveJava.pdf
Final Exam: Date and location to be announced later.

Web Accessibility