Data Structures: Algorithms and Applications

Comp 271-001, Fall 2009 (lab section is 002)

Instructor: Peter Dordal     TA: Sruthi Gujjula [tentative]

TTh 4:15-5:30, Tues 5:30-6:20, Lake Shore, Damen Hall 339.

Text: The (free!) online textbook Java Structures. (The actual link to the book is here.) For those interested in a supplemental Java reference book, consider Java Precisely, 2nd ed, Peter Sestoft, ISBN-13: 9780262693257.

We will be using the BlueJ java environment initially; we may make some use of other environments such as eclipse later in the semester. On the BlueJ downloads page, in the blue box at the righthand side, are links to the Sun Java Developers Kit packages, JDK5 and JDK6. I recommend JDK6 unless space or download bandwidth is at a premium.


Course Survey!

The course survey is here. The survey is open until the wee hours of Monday, Dec 7.

There will be an in-class exam on Tuesday October 20. The final will be Tuesday, Dec 8, at our usual time and place (the slot for Tuesday evening classes).

Exam study guides will go here.

Here is the midterm exam study guide, together with the simple ArrayList code that you will be given during the exam as a java "reference". Answers are here.

Here is the final exam study guide. Solutions are here.
You will also be given the simple ArrayList code, above.

Labs (tentative schedule): Project information
Versions (I recommend trying to use version 1.2, which has several changes that should make life easier)
Some miniJava programs for you to compile:

course notes

Week 1: Aug 25
Week 2: Sept 1
Week 3: Sept 8
Week 4: Sept 15
Week 5: Sept 22
Week 6: Sept 29
Week 7: Oct 8 (no class Oct 6)
Week 8: Oct 13
Week 9: Oct 20
Week 10: Oct 27
Week 11: Nov 3
Week 12: Nov 10
Week 13: Nov 17
Week 14: Nov 24 (no class Nov 26)
Week 15: Dec 1

As a rough guide, the grading breakdown will be as follows:

But this is sort of approximate. I reserve the right to change things 5% or so. I also might make individual adjustments to the proportions above, but only in your favor.

Labs should be done during the lab period. If you're not able to do that, they should be submitted by the following lab session.

Sometimes you may be asked to resubmit assignments; as a general rule a resubmitted assignment will never receive a higher grade than that of someone who I didn't feel needed to resubmit. You do, however, get some grace regarding lateness when you resubmit. It is always better to submit what you have on time.

I may have you pair up to do some assignments.

My general course groundrules are here.