There will be weekly homework exercises and programming projects illustrating the concepts presented. We will be using the Java programming language on the Computer Science Suns as our principal programming environment. If you work somewhere else, you are responsible for obtaining and learning how to use the software. Since one of the goals of the course is to learn how to write large, reliable programs, we will emphasize (in class and in grading) the development of clear, modular, well-documented programs that are easy to read, analyze, debug, and modify.
Key: JS = Java Structures, JPL = Java Programming Language
WEEK | DATES | TOPICS | READINGS and ANNOUNCEMENTS |
1 | 1/18 - 1/20 | Introduction to Java | JS Chapters 0, 1; JPL Chapters 1, 2, 3 |
2 | 1/25 - 1/27 | Introduction to Java (continued) | JS 2; JPL 4, 7, 12; skim JPL 5, 6, 8 (Drop/add ends Friday 1/28) |
3 | 2/1 - 2/3 | Vectors and lists | JS 3, 6 |
4 | 2/8 - 2/10 | Lists (continued) | EXAM 1 Thursday 2/10 in class |
5 | 2/15 - 2/17 | Induction, complexity, and sorting | JS 4.1, 4.2, 5 |
6 | 2/22 - 2/24 | GUI programming and applets | JPL 10, 17 |
7 | 2/29 - 3/2 | Stacks and queues | JS 7 |
- | 3/7 - 3/9 | Fun and relaxation | SPRING BREAK |
8 | 3/14 - 3/16 | Iterators and trees | JS 8, 10, 12.1 (Last day to withdraw Monday 3/13) |
9 | 3/21 - 3/23 | Priority queues and heaps | JS 11 |
10 | 3/28 - 3/30 | Balanced trees | EXAM 2 Tuesday 3/28 in class |
11 | 4/4 - 4/6 | Dictionaries and hashing | JS 13 |
12 | 4/11 - 4/13 | Graphs | JS 14 |
13 | 4/18 - 4/20 | Graphs (continued) | JS 14 |
14 | 4/25 - 4/27 | Threads | JPL 9 |
- | TBA | - | FINAL EXAM |