Office: 3379 Computer Sciences Phone: 263-2150 E-mail: ncoleman@cs.wisc.edu Office Hours: Monday 3:00 - 4:00pm Wednesday 3:30 - 4:30pm or by appointment (send e-mail)
Office: 3360 Computer Sciences Phone: 262-9275 E-mail: eskaug@cs.wisc.edu Office Hours: Monday 11am-noon Wednesday 12:30-1:30pm Thursday 10-11am
2:30 - 3:45 Tuesdays and Thursdays
room 1240 Computer Sciences (1210 W Dayton St)
All programs must be written in Java. The machines available for your use are the Unix Solaris workstations. They are in rooms 1358, 1366, and 1368 of the Computer Sciences and Statistics building. The machines are named nova1 - nova60. You may work on other machines, but you must be able to copy your code to the class directory for grading, and it must run on the nova machines.
The exam will be closed book, but each student may bring one (normal sized) page of notes, with writing on one side only, either hand-written or printed (any size font).
Grades are available here.
program 1 September 16 program 2 October 2 program 3 October 23 program 4 November 13 program 5 December 9
midterm 1 October 9 7:15 - 9:15pm in 145 Birge midterm 2 November 11 final December 14
The first programming assignment will be done individually The other programming assignments may be done either individually or in pairs (your choice).
All written assignments and exams will be done individually.
Your final grade will be computed approximately as follows:
each program: 8% (total 40%) each exam: 10% (total 30%) each homework: 3% (total 30%)
Programs will be handed in by copying files to
a specified directory.
If a program is due on October 3, it is on time if it
is copied by the end of the day on the third (i.e., by midnight).
If it is copied any time on October 4, then it is 1 day late;
if it is copied any time on October 5, then it is 2 days late, etc.
The last programming assignment will NOT be accepted late.
Other programs will be accepted up to 3 days late.
Each student has six "free" late days per semester.
Once your free late days are used up, each day that a
program is late will result in a 5 point penalty.
Free late days are provided so that you can deal with unexpected
circumstances (illness, family problems, etc).
Please use your free late days wisely!
Textbook
Data Structures and Abstractions with Java
Frank M. Carrano and Walter Savitch
Students should have taken CS 302 in the last year or so. The programming assignments are all in Java. Appendix A and chapter 1 of the text cover basic Java and using Java Classes. You should already be familiar with this material.
Week Topics Reading ---- ------ ------- 1 Intro, ADTs, Efficiency skim chapters 1-3, read chapter 9 up to p213 2 Exceptions, Lists Appendix B, 4-5, 9.29, 9.30 3 Linked Lists 6 9.31-9.34 4 Stacks, Queues 20-23 (don't worry about pp471-474) 5 Recursion 10 6 Trees, Midterm 1 24 7 Searching, Trees 16,25 8 More Trees 26 9 2-3 Trees 28 pp653-657 10 Heaps, Priority Queues 27 11 Midterm 2, Hashing 19 12&13 Graphs 29 14 Sorting 11-12 15 Review