ACS-2947/3-001 Fall 2008


Instructor: Alex Brodsky     Office: 3D17
E-mail:     Office hours: TBA
Class Meeting Time: Tuesday and Thrsday, 10:00-11:15     Room No: 4C84
Course Group: Email to receive an invite.

Midterm Exam: Tuesday, October 21, 2008, in class
Final Exam: December 15, 2008, 9:00-12:00

The course official course outline is available here.


There will be four (4) assignments throughout the course. All assignments are due at 17:00 on the following non-negotiable due dates:

Description Due Date
Assignment 1 Lists and Recursion
Additional code:
Solution to the written part: soln1.pdf
September 25, 2008
Assignment 2 Complexity and Abstract Data Types
Additional code:,
Solution to the written part: soln2.pdf
October 16, 2008
Assignment 3 Trees and Hash Tables
Additional code:,,
Example of a Linked List based map
Solution: soln3.pdf
November 6, 2008
Assignment 4 Priority Queues, Heaps, and Graph Algorithms
Additional code:,
Solution: soln4.pdf
November 27, 2008
December 4, 2008

Late Assignments

Assignments will not be accepted after the due date.

Submitting Assignments

Assignments must be submitted in both paper and electronic form. Each assignment will specify what files to submit and how they should be named.

Electronic submission will take place using the ACS department's electronic assignment submission system (PASS). You must email the instructor for your initial password to the system. You are strongly encuraged to login test the submission process prior to the assignment deadline to become familiar with the system.


The text for the course is Goodrich and Tamassia, ``Data Structures and Algorithms in Java, 4th ed.'', 2006, ISBN 0-471-73884-0. There will be readings assigned for each lecture. You should do the readings before attending the lecture.

There is a discussion group for the course where you can post and discuss questions that arise from the course material. To get access to the group, send email to the course account and an invite will be sent to you for the group.

The website associated with the course text provides the source code examples in the text as well as additional material.

If you find additional websites that you think may be helpful for the course, let me know and I will add them here.

Marking Scheme

A course mark will be assigned based on three assignments, a written midterm, and a written final examination. Each student has the choice of one of the two marking schemes; the marking scheme most beneficial to each student will be used.

Assignments Midterm Final
Marking Scheme I 30% 20% 50%
Marking Scheme II 30% 0% 70%

Midterm and Final Exams

The midterm exam will be held in class on Tuesday, October 21, 2008.

The final exam will be held on TBA.

For both exams Photo Identification is required. No paper or electronic electronic aids, such as dictionaries, calculators or talking slide rulers, are allowed.

Penalties for Academic Misconduct

Students caught cheating on an assignment or an exam will be assigned a mark of 0 for that assignment or exam. Furthermore, the case will be forwarded to the department chair for further prosecution resulting in a possible suspension or expulsion from the university.

Do not cheat or plagiarize!

To avoid the possibility of plagiarism here are some rules of thumb that you should follow:

  1. Put away pens, pencils, and keyboards when discussing the problem with others.
  2. Acknowledge all help that you received on the assignment in an acknowledgments section at the end of your write-up.
  3. Look at other code all you want, but do not copy it.
  4. If you are unsure about something ask the instructor!