|
Schedule |
This schedule is approximate, 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 (Aug 29, First lecture 8/31) |
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 |
|
| Week #2 (Sep 05) |
Abstract Classes, Java Support for OOP, Testing, Program Correctness (Errors, Exceptions, Debugging) | Chapter 2.1 → 2.7, Appendix A |
JavaConstructs.pdf
AbstractClasses.pdf |
|
| Week #3 (Sep 12) |
Testing, Program Correctness (Cont.), Inner Classes, Event-Driven Programming (GUI Intro) | Appendix C |
JavaOOP.pdf ProgramCorrectness.pdf |
|
| Week #4 (Sep 19) |
Algorithmic Complexity, Java Collections, Linear Data Structures (Linked lists, Stacks, Queues) | Chapters 4, 5, 6 |
InnerClasses.pdf GUI.pdf AlgorithmicComplexityI.pdf |
|
| Week #5 (Sep 26) |
Linear Data Structures (Cont.), Generic Programming, Hashing, Sets, Maps | Chapter 9 |
AlgorithmicComplexityII.pdf CollectionAbstractions.pdf Generics.pdf |
|
| Week #6 (Oct 3) |
Recursion, Trees, Binary Search Trees | Chapter 7, 8 |
LinearStructures.pdf Hashing.pdf SetsMaps.pdf |
|
| Week #7 (Oct 10) |
Binary Search Trees (Cont.) | Chapter 8 |
RecursiveAlgorithms.pdf |
First Midterm Exam (Tuesday 10/11)
|
| Week #8 (Oct 17) |
File I/O, Heaps, Priority Queues | Appendix A |
TreesBST.pdf HeapsPriorityQueues.pdf JavaIO.pdf |
|
| Week #9 (Oct 24) |
Network Basics, Software Development, Software Life Cycle, Software Process Models | Chapters 1,2 |
Networking.pdf SoftwareDevelopementI.pdf |
|
| Week #10 (Oct 31) |
Problem Specification & Design, Object-Oriented (OO) Design, Unified Modeling Language (UML) | Chapter 3, Appendix B |
SoftwareProcessModelsSEII.pdf ProblemSpecificationDesignSEIII.pdf ProgramTestingSEIV.pdf ObjectOrientedDesignSEV.pdf UMLSEVI.pdf |
|
| Week #11 (Nov 7) |
Threads & Synchronization |
Threads.pdf Synchronization.pdf |
|
|
| Week #12 (Nov 14) |
Graphs, Graph Traversals, Shortest Path | Chapter 12 |
GraphTraversal.pdf DijkstrasAlgorithm.pdf KruskalsAlgorithm.pdf |
Second Midterm Exam (Thursday 11/17)
|
| Week #13 (Nov 21) |
Sorting, Algorithm Strategies, Design Patterns |
Chapter 10, 12 |
GraphImplementation.pdf |
|
| Week #14 (Nov 28) |
Design Patterns, Callbacks, Effective Java, Course Evaluations |
Sorting.pdf AlgorithmStrategies.pdf |
|
|
| Week #15 (Dec 5) |
Effective Java, Miscellaneous, Final Exam Review |
DesignPatternsI.pdf DesignPatternsII.pdf |
||
| Week #16 (Dec 12 Last lecture 12/12) |
Final Exam Review | Final Exam: Date and location to be announced later. |
