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.1→4.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 |
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) |
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 |
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.1→8.5, 9.3→9.5 |
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 |
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 |
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.4→1.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) |
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 | |
