CMSC 132 - Object-Oriented Programming II

Fall 2006

 

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

Aug 28

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.jar
Eclipse installation

Week #2

Sep 4
 

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

Chapters 2.1, 2.6, 2.8

Lect3 (1page, 2page)
Lect4 (1page, 2page)
JavaExamples02.jar  

Project #1 Out (Fri/Sep 8)

Week #3

Sep 11
 

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

Chapters 2.8, 4, 5, 6

Lect5 (1page, 2page)
Lect6 (1page, 2page)
Lect7 (1page, 2page)
JavaExamples03.jar  

Quiz #1 (Wed/Sep 13)

Project #1 Due (Fri/Sep 15)

HW #1 Out (Fri/Sep 15)

Week #4

Sep 18

Recursion, Sets, Maps, Generic Classes

Chapters 7, 8.1, 9.1, 9.2, 9.5

Lect8 (1page, 2page)
Lect9 (1page, 2page)
JavaExamples04.jar 09-SetsMapsGenericsCode.jar  

Quiz #2 (Wed/Sep 20)

Project #2 Out (Fri/Sep 22)

HW #1 Due (Wed/Sep 20)

Week #5

Sep 25
 

Hashing, Trees, Binary Search Trees, Heaps, Priority Queues

Chapters 8.18.5, 9.39.5, 10.8

Lect10 (1page, 2page)
Lect11 (1page, 2page)
Lect12 (1page, 2page)

11-TreesBST.jar

Project #2 Due (Fri/Sep 29)

Week #6

Oct 2
 

Compression, Huffman Trees, Software Development, Software Life Cycle

Chapters 1.1, 8.6

Lect13 (1page, 2page)
Lect14 (1page, 2page)

Midterm #1 (Wed/Oct 4)

Project #3 Out (Wed/Oct 4)

Week #7

Oct 9

Software Process Models, Problem Specification, Problem Design, Program Testing Chapters 1.1, 1.3, 2.5 Lect15 (1page, 2page)
Lect16 (1page, 2page)
Lect17 (1page, 2page)

Project #3 Due (Fri/Oct 13)

Project #4 Out (Fri/Oct 13)

Week #8

Oct 16

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

Chapters 1.41.7, 3, Appendix B

Lect18 (1page, 2page)
Lect19 (1page, 2page)
Lect20 (1page, 2page)

Quiz #3 (Wed/Oct 18)

Project #4 Due (Fri/Oct 20)

Project #5 Out (Fri/Oct 20)

Week #9

Oct 23

Java Support for OOP, Graphs, Graph Representations, Traversals, Shortest Path Algorithm

Chapter 12

Lect21 (1page, 2page)
Lect22 (1page, 2page)
Lect23 (1page, 2page)

Project #5 UML Design Due (Wed/Oct 25)

Week #10

Oct 30

Minimum Spanning Tree Algorithms, Threads in Java

Chapter 12

Lect24 (1page, 2page)
Lect25 (1page, 2page)

Project #5 Implementation Due (Mon/Oct 30)

Midterm #2 (Wed/Nov 1)

Project #6 Out (Wed/Nov 1)

Week #11
Nov 6
Synchronization in Java, Networking Fundamentals, Networking Support in Java Appendix C

Online Material

Lect26 (1page, 2page)
Lect27 (1page, 2page)
Lect28 (1page, 2page)

28-JavaNetworkingCode.zip

Quiz #4 (Wed/Nov 8)

Project #6 Due (Fri/Nov 10)

Project #7 Out (Fri/Nov 10)

HW #2 Out (Wed/Nov 8)

Week #12

Nov 13

Regular Expressions, Automata, Event-Driven Programming, GUIs (Graphical User Interface), MVC Model, Java Support for GUIs

Appendix C

Lect29 (1page, 2page)
Lect30 (1page, 2page)
Lect31 (1page, 2page)

31-JavaGUICode.zip

Quiz #5 (Wed/Nov 15)

HW #2 Due (Tue/Nov 14)

Week #13

Nov 20

 

Inner classes, Thanksgiving

Appendix C Lect32 (1page, 2page)
 
Project #7 Due (Tue/Nov 21)

Week #14

Nov 27

Sorting, Algorithm Strategies

  Lect33 (1page, 2page)
Lect34 (1page, 2page)

GUITables.zip 

Quiz #6 (Wed/Nov 29)

Project #8 Out (Mon/Nov 27)

HW #3 Out (Wed/Nov 29)

Week #15

Dec 4

Design Patterns, Exceptions, Serializability, Effective Java, (Advanced Trees, 132H only)

 

Lect35 (1page, 2page)
Lect36 (1page, 2page)
Lect37 (1page, 2page)
Lect38 (1page, 2page)  
Project #8 Due (Wed/Dec 6)

HW #3 Due (Fri/Dec 8)

Week #16

Dec 11

Final Exam Review

 

 

 

Final Exam: Friday

Dec 15, 4:00 pm-6:00 pm

CSIC 1115