|
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 |
|
| 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 |
|
| Week #3 (Feb 7) |
Testing, Program Correctness (Cont.), Inner Classes, Event-Driven Programming (GUI Intro) | Appendix C |
ProgramCorrectness.pdf InnerClasses.pdf GUI.pdf |
|
| 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 |
|
| Week #5 (Feb 21) |
Linear Data Structures (Cont.), Generic Programming, Hashing, Sets, Maps | Chapter 9 |
LinearStructures.pdf Generics.pdf Hashing.pdf SetsMaps.pdf |
|
| Week #6 (Feb 28) |
Recursion, Trees, Binary Search Trees | Chapter 7, 8 |
RecursiveAlgorithms.pdf |
|
| Week #7 (Mar 7) |
Binary Search Trees (Cont.) | Chapter 8 |
TreesBST.pdf |
|
| 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 |
|
| 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 |
|
| 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 |
|
| 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 |
|
|
| Week #15 (May 9) |
Effective Java, Miscellaneous, Final Exam Review |
EffectiveJava.pdf |
Final Exam: Date and location to be announced later. | |
