COSC 2011 3.0 Fundamentals of Data Structures

Fall 1998


Note

Brief overview

The design and analysis of data structures is a key subject in computer science. This course will focus on some fundamental data structures, including lists, trees and graphs. JavaTM will be used as the implementation language. No prior knowledge of Java is assumed. The course is divided into the following three parts.

General information

Time: Monday, Wednesday and Friday, 14:30-15:30
Place: BC 341 (Monday), SLH F (Wednesday), CLH K (Friday)
Instructor: Franck van Breugel
Teaching assistants: Behrad Ghazizadeh and Matthew Izatt
Prerequisites: general prerequisites

Reference material

The textbook for the course is This book is on reserve in the Steacie library. Errata can be found here and here. Class notes and handouts will be crucial. The following books are suggested for further reading. Note that "The Java Tutorial" is available online (click on the title). "Data Structures and Algorithms" is on reserve in the Steacie library.

Evaluation

The student's performance in the course will be evaluated as a combination of six assignments (30%) and three tests (70%). In order to pass the course, students should pass the tests (a student who fails based on the marks for the three tests also fails the course). More details are given below. There will be no final or supplemental examination for the course. Neither will students have the option of doing additional work to upgrade their mark.

Assignments

There will be six assignments. The dates for the assignments are
  1. September 16 (5%)
  2. September 28 (5%)
  3. October 21 (5%)
  4. October 28 (5%)
  5. November 18 (5%)
  6. November 25 (5%)
The assignments should be handed in within a week. For example, the first assignment should to be handed in before September 24. No late assignments will be accepted. If a student cannot hand in the assignment in time for reasons beyond his/her control, the student should bring a documented note to the instructor. If accepted, the weight of the other assignments will be prorated accordingly.

Tests

There will be three tests. The dates for the tests are
  1. October 14 (25%)
  2. November 11 (25%)
  3. December 9 (20%)
If a student misses the first or the second test for reasons beyond his/her control, the student should bring a documented note to the instructor. If accepted, the weight of the other tests will be prorated accordingly. If a student misses the third test, the student has contact the instructor to take a replacement test.

Calendar

The suggested reading material, additional material and the assignments can be found by clicking on the corresponding date on the calendar below.

Java seminars

More information can be found here.

Course outline (in PostScript)