CMSC 132 - Object-Oriented Programming II

Spring 2007

 

Course Schedule

 

This schedule is tentative and subject to change.  The readings are from the 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 posted slides.

 

Week Topics Reading Slides/Code Work
Week #1

Jan 24

Introduction to OOP (Abstraction, Encapsulation), Java Language Features (Enumeration, Generics, Enhanced for Loop, etc.).

Chapters 1.2, 4.14.3, Appendix A Lect1 (1page, 2page)
Lect2 (1page, 2page)
JavaExamples01.zip
Eclipse installation

HW #1 Out (Fri/Jan 26)

Week #2

Jan 29
 

Testing, Program Correctness (Errors, Exceptions, Debugging), Algorithm Complexity (Benchmarks, Big-O)

Chapters 2.1, 2.6, 2.8

Debugging.zip

Lect 3(1page, 2page)

Lect 4(1page, 2page)

Lect 5(1page, 2page)

Project #1 Out (Fri/Feb 2)

HW #1 Due (Fri/Feb 2)

Week #3

Feb 5
 

Algorithm Complexity (Critical Sections), Java Collections, Linear Data Structures (Linked lists, Stacks, Queues)

Chapters 2.8, 4, 5, 6

Lect 6(1page, 2page)
Lect 7(1page, 2page)
Lect 8(1page, 2page)

LinearStructuresCode.zip

Quiz #1 (Wed/Feb 7)

Project #1 Due (Fri/Feb 9)

HW #2 Out (Fri/Feb 9)

Week #4

Feb 12

Recursion, Sets, Maps, Generic Programming

Chapters 7, 9

Lect 9(1page, 2page)

Lect 10(1page, 2page)

SetsMapsGenericsCode.zip

RecursiveAlgorithmsCode.zip

Project #2 Out (Fri/Feb 16)

HW #2 Due (Fri/Feb 16)

Week #5

Feb 19
 

Hashing, Hash Tables, Trees, Binary Search Trees

Chapters 8.18.5, 9.39.5

Lect 11(1page, 2page)

Lect 12(1page, 2page)

Quiz #2 (Mon/Feb 19)

Project #2 Due (Fri/Feb 23)

 

Week #6

Feb 26
 

Heaps, Priority Queues, Compression, Huffman Trees

Chapters 8.6, 10.8

Lect 13(1page, 2page)

Lect 14(1page, 2page)

 

Midterm #1 (Wed/Feb 28)

Project #3 Out (Wed/Feb 28)

Week #7

Mar 5

Graph Traversals, Graph Implementations, Shortest Path, Minimum Spanning Trees Chapter 12

Lect 15(1page, 2page)

Lect 16(1page, 2page)

Lect 17(1page, 2page)

 

Quiz #3 (Wed/Mar 7)

Project #3 Due (Thu/Mar 8)

Project #4 Out (Thu/Mar 8)

Week #8

Mar 12

GUIs, Java Support for GUIs, Inner Classes

Chapters 1.41.7, 3, Appendix C

Lect 18(1page, 2page)
Lect 19(1page, 2page)
GUICode.zip

Project #4 Due (Fri/Mar 23)

 

SPRING BREAK 2007 (May 17-May 25)

(For more information see: weWillNotProgram@enjoyTheSpringBreak.com)

 

Week #9

Mar 26

Software Development, Software Life Cycle, Software Process Models, Problem Specification & Design

Chapter 1

Lect 20(1page, 2page)
Lect 21(1page, 2page)
Lect 22(1page, 2page)

Project #5 Out (Mon/Mar 26)

Week #10

Apr 2

Object-Oriented (OO) Design, Unified Modeling Language (UML)

Chapter 3, Appendix B

Lect 23(1page, 2page)
Lect 24(1page, 2page)
Lect 25(1page, 2page)

BagsMarkovTextGen.pdf

Project #5  Due (Wed/Apr 4)

Project #6 Out (Wed/Apr 4)

Week #11 Apr 9 Java Support for OOP, Threads & Synchronization in Java Lect 26(1page, 2page)
Lect 27(1page, 2page)
Lect 28(1page, 2page)

HW #3 Out (Mon/Apr 9)

Quiz #4 (Wed/Apr 11)

Project #6 Due (Fri/Apr 13)

Project #7 Out (Fri/Apr 13)

Week #12

Apr 16

Networking, Networking Support in Java

Lect 29(1page, 2page)
Lect 30(1page, 2page)
JavaNetworkingCode.zip  

HW #3 Due (Mon/Apr 16)

Midterm #2 (Wed/Apr 18)

HW #4 Out (Fri/Apr 20)

Week #13

Apr 23

 

Sorting, Algorithm Strategies

Lect 31(1page, 2page)
Lect 32(1page, 2page)

Project #7 Due (Tue/Apr 24)

HW #4 Due (Fri/Apr 27)

Week #14

Apr 30

Design Patterns, Exceptions, Effective Java

  Lect 33(1page, 2page)
Lect 34(1page, 2page)
Lect 35(1page, 2page)
TerpIdol.pdf

Project #8 Out (Mon Apr 30)

Quiz #5 (Wed/May 2)

Week #15

May 7

(Advanced Trees, 132H only), Final Exam Review

 

Lect 36(1page, 2page)
Lect 37(1page, 2page)

Project #8 Due (Tue/May 8)

 

Week #16

May 14

Final Exam

 

 

 

Final Exam: Monday

May 14, 4:00 pm-6:00 pm, PHY 1412