EECS 2011M: Fundamentals of Data Structures
Winter 2018

This page is the public part of the course. This page is maintained primarily for ease of access to course materials. Certain materials like course grades, solutions, test information etc will be put on Moodle. The deadline for assignment 2 is postponed to Feb 23, 11.59 pm.

General Information

Instructor: Suprakash Datta
Office: LAS, room 3043
Telephone: (416) 736-2100 ext. 77875
Facsimile: (416) 736-5872
Lectures: Tues, 18:00-21:00 in CLH C
Office Hours: Monday, Wednesday: 3 - 4:00 pm or by appointment, in LAS 3043.
Email: [lastname]@eecs.yorku.ca

Grades

Grades will be available online on Moodle.
  1. Homework (20%): 4 sets, 5% each.
  2. Midterm (30%):  Feb 27, in class.
  3. Final (50%):  date/time TBA by the registrar's office. Syllabus - everything covered.
    Some practoce problems are here.

Lecture schedule(tentative)

Date Topic Readings Graded Work Notes
Week 1 (Jan 9) Introduction, Analysis tools 1, 2, 4 Slides on Ch 2, Slides on Ch 4
Week 2 (Jan 16) Linear Data Structures 6.1,6.2, 3.1,3.2, 3.4,7.1-7.3 Slides
Week 3 (Jan 23) The Java Collections Framework, Recursion 7.4-7.5, 5 Assignment 1 due on Jan 25 Collections Slides, Recursion Slides
Week 4 (Jan 30) Trees, Priority Queues and Heaps 8, 9.3 Trees Slides, Heaps Slides, Java code (updated Feb 6)
Week 5 (Feb 6) Heaps - continued, Priority Queues 9.1-9.2, 9.4, 9.5, 10.1, 10.2 Priority queues Slides, Heap code, generic linked list code, Stack code, Queue code, Priority Queue code
Week 6 (Feb 13) Maps, Hash Tables Midterm review 4.3.3 Assign 1 returned - delayed Hashing Slides, APQ Slides, Hashing code
(Feb 20) Reading week
Week 7 (Feb 27) Midterm, Loop Invariants and Binary Search 4.3.3 Assign 2 returned Slides
Week 8 (Mar 6) Search Trees 11 Slides
Week 9 (Mar 13) Comparison Sorts 9.4, 12 Assign 3 due Slides, Cool animation
Week 10 (Mar 20) Linear Sorts 12.3.2, 14.1-14.2 Linear Sorting slides
Week 11 (Mar 27) Graphs - ADTs and Implementations, Depth First Search, Breadth First Search 14.3.1-14.3.3, 14.5 Assign 3 returned Graphs slides, DFS & BFS slides
Week 12 (Apr 3) Wrapup, Final Exam Review Assign 4 due

Assignments

For help on the assignments, please email one of the following TAs:
Vitaly Batusov
Hakki Karaimer (Office Hour: Tues 11:45 - 12:45 in LAS 2052)
Stanley Liang

  1. Assignment 1 is here. Solutions are here. Marks are here
  2. Assignment 2 is here (Due Tues Feb 20 11:59pm). The deadline is Feb 23, as noted above. Solutions are here.
  3. Assignment 3 is here (Due Tues Mar 21 11:59pm). Documentation for the library used in the questions is here. (Due date extended until after the strike ends.) Grading programs
  4. Assignment 4 is here (Due date extended until after the strike ends.) Grading programs

Problem Sets (do not submit)

  1. Problem Set 1 (Asymptotic Analysis). Solutions are here.
  2. Problem Set 2 (Linear data structures, recursion, trees, priority queues, heaps) Solutions are here.
  3. Problem Set 3 (Asymptotic analysis, hashing, BSTs, comparison sorts, linear sorts, graphs)

Course Description

This course discusses the fundamental data structures commonly used in the design of algorithms. At the end of this course, students will know the classical data structures, and master the use of abstraction, specification and program construction using modules. Furthermore, students will be able to apply these skills effectively in the design and implementation of algorithms.

By the end of the course, the students will be expected to be able to:

Resources

Textbook

Data Structures and Algorithms in Java (6th edition)
by Michael T. Goodrich, Roberto Tamassia and H. Goldwasser
John Wiley & Sons, Inc. (2014)

Academic Honesty

It is important that you look at the departmental guidelines on academic honesty.

Although you may discuss the general approach to solving a problem with other people, you should not discuss the solution in detail. You must not take any written notes away from such a discussion. Also, you must list on the cover page of your solutions any people with whom you have discussed the problems. The solutions you hand in should be your own work. While writing them, you may look at the course textbook and your own lecture notes but no other outside sources.

Important Dates (from here)

Missed test/exam

If you miss a test or the final due to medical reasons you are required to contact the instructor within 7 days of the scheduled exam with documentation. York University has a new form that your doctor should fill out. You can download it by clicking here.

If you miss an assignment or test for medical reasons, the weight will be transferred to the final. If you miss the final, you have to get the instructor to sign a deferred standing agreement within 7 days of the scheduled exam (the instructor has the right to refuse to agree, and in that case the student can petition to take the deferred examination). The department will arrange for a deferred examination at the beginning of the following term. If you miss a test or final for some non-medical reasons, please contact the instructor. These will be dealt with a case-by-case basis.