COMP2002-COMP2402:
Data Structures
Announcements | Outline | Assignments |TAs | Notes | Textbook | Office Hours | Grading | Dates | Cheating | Special Needs
Course outline
This is an introductory course on data structures, using Java as an
implementation language. The main topics covered in this course will be
Along the way, we will consider performance issues, both theoretical and
practical. After taking this course, students should have a good understanding
of how to implement a variety of data structures, and be in a position to
choose the right data type and implementation for problems they encounter.
Course notes
−
Note that the slides could slightly change before the lecture
The official textbook for this course is Open Data Structures
(in Java). This open-content textbook is completely free as a greyscale
pdf (for printing), a color pdf, and an online
version. You can also download complete Java
source code for the data structures that appear in the book.
There is also some mathematical content in the course. We will use asymptotic
analysis, logarithms, and factorial functions. Mathematics for Computer Science by Lehman, Leighton,
and Meyer is an excellent reference for this material, and is also free. A PDF
copy of this book is also available on the Open Data Structures website, in the
related projects section.
|
Date |
Topics |
References |
|
|
May 8 |
Introduction |
|
|
|
May, 10 |
The Java
Collections Framework I: Interfaces
and Implementations |
|
|
|
May 15 |
ArrayLists (ArrayStacks,
ArrayQueues, ArrayDeques, DualArrayDeques) |
|
|
|
May17 |
RootishArrayStacks and Linked lists |
|
|
|
May 22 |
Mid-term exam - bring your
student card |
|
|
|
May 24 |
Hash
tables Skip lists |
|
|
|
May 29 |
Binary
trees and Binary search trees Treaps |
|
|
|
May 31 |
Scapegoat
trees and 2-4 and
red-black trees |
|
|
|
June 5 |
Binary
heaps Randomized
meldable heaps Sorting
algorithms and lower bounds |
|
|
|
June 7 |
Mid-term exam - bring your
student card |
|
|
|
June 12 |
Graph,
Graph Traversal, MST, Shortest Path |
|
|
|
June 14 |
Review
lecture |
|
|
|
|||
|
Office hours are as follows. If this doesn't work, then meeting times
can be arranged by email.
Tuesday and Thursday from 4:30pm to 5:30pm HP-5347
Grades will be assigned using the following grading scheme.
|
Assignment
1 |
10% |
|
Assignment
2 |
10% |
|
Midterm
Exam 1 |
15% |
|
Assignment
3 |
10% |
|
Midterm
Exam 2 |
15% |
|
Participations
in class |
5% |
|
Final
exam |
40% |
|
Total |
100% +
5% bonus |
The bonus for active participation cannot be used to pass the course if
it was failed but it could slightly improve the mark for the course.
I may, at my discretion, increase the grades of certain students to
raise the class average or change the distribution. This will never cause a
student's grade to go down, nor will it change the relative rankings of
students so, e.g., it is not possible for a student who earned an 80% to
receive a lower grade than a student who earned a 75%.
A tentative schedule will be posted here when it is ready.
Policy regarding unoriginal work
Students are encouraged to collaborate on assignments, but at the level
of discussion only. That is, they may work together to solve problems, but when
writing down the solutions they should do so on their own. No student should
show another student his or her written solutions.
Any student who is caught submitting work that they did not do
themselves will have the relevant material sent to the Dean of Science, who will
decide on the appropriate action.
Students with Special
Needs
Students with special needs should obtain documentation from the Paul-Menton Center and notify me as soon as possible.