Course Schedule

Lectures: Tuesday and Thursday, 11:30-13:00

Tutorials: Wednesday and Friday, 10:00-11:00

Basic Course Organization

The lectures are structured using a flip classroom format. Lectures notes are posted 3-4 days before each lecture. Students read the lecture notes and complete a set of homework questions before each lecture. The lecture time is then used for

  • in-depth discussion of difficult or advanced topics
  • problem solving
  • questions
  • discussion of assignments
  • in-class quizzes (the best 85% of the quizz marks are counted toward 15% of the final grade)

Note 1: Pre-class homework must be submitted before the corresponding lecture (by 11:00) to be counted and graded. The best 85% of pre-class homework marks are counted toward 10% of the final grade.

Note 2: Students with a letter of accommodation from Student Accessibility Service may choose to write a proctored test worth 15% before the final exam in lieu of the in-class quizzes.

Note 3: Live lectures will not be recorded. A very good series of video lectures using the same textbook is available here for study.


General prerequisites;
LE/EECS1030 3.00 or LE/EECS2030 3.00;
LE/EECS1028 3.00 or SC/MATH1028 3.00 or LE/EECS1019 3.00 or SC/MATH1019 3.00


Uyen Trang (UT) Nguyen
Office: LAS-2024 (Lassonde Building)
Email: utn @ eecs . yorku . ca
Home page
Office hours (tentative)): Tuesday 10:30-11:15 and Friday 16:00-17:00

Teaching Assistants

Feng Wei (fwei @ eecs . yorku . ca)
Yuping Lin (yuping @ eecs . yorku . ca)


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


Data Structures and Algorithm Analysis in Java, 3rd Edition
by Mark A. Weiss, Pearson (2012)

Best online video courses for Data Structures And Algorithms

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:

  • Instantiate a range of standard abstract data types (ADT) as data structures
  • Implement these data structures and associated operations and check that they satisfy the properties of the ADT
  • Apply best practice software engineering principles in the design of new data structures
  • Demonstrate the ability to reason about data structures using contracts, assertions, and invariants
  • Analyse the asymptotic run times of standard operations for a broad range of common data structures
  • Select the most appropriate data structures for novel applications

Grading Scheme

  • 10% - Pre-class homework
  • 15% - Pop quizzes (in class)
  • 25% - Midterm test
  • 50% - Final exam

There are also 4 to 6 assignments that are not graded. Questions very similar to those in the assignments will be given in the quizzes, midterm test and final exam.

Conversion from numeric to letter grade is applied to the overall mark only, using the following scheme as guidance:





















Test and Exam Policy

  • Students are required to have a computer with a functional webcam for the online proctored midtterm test and final exam. Refer to "Important Notes" below. Students can borrow laptops from the university.
  • To accomodate students encountering unexpected problems or illness, the best 85% of the grades of pre-class homework and in-class quizzes will be used in the final grade calculation.
  • The assignments are not graded, but questions very similar to those in the assignments will be given in the quizzes, midterm test and final exam.
  • In this course, all assignments, quizzes, test and exam are individual work. We use MOSS (Measure Of Software Similarity) to detect software plagiarism. Plagiarism and cheating will be dealt with according to York University's Senate Policy on Academic Honesty.
  • Students who enrol in the course late are responsible for all material and all evaluations prior to their enrolment in the course.

Academic Honesty Guidelines

"Academic honesty is essentially giving credit where credit is due. And not misrepresenting what you have done and what work you have produced. When a piece of work is submitted by a student it is expected that all unquoted and uncited ideas and text are original to the student. Uncited and unquoted text, diagrams, etc., which are not original to the student, and which the student presents as their own work is considered academically dishonest." - Department of Electrical Engineering and Computer Science Academic Honesty Guidelines

For more information about Academic Honesty Guidelines, check the above link.

Useful Suggestions

  • When sending emails to the instructor or TAs, please indicate "EECS2011" in the subject line (e.g., "EECS2011 - Lecture notes unreadable"), or they may be deleted by mistake as spam. Include your name and student ID in the email.
  • For questions related to course materials, it is best to ask during lectures, tutorials or office hours. Email is not an effective or time-efficient way to explain course materials. Take advantage of office hours and tutorials.
  • Attend the lectures! The lecture notes give only outlines of the lectures. Details and additional information will be explained and discussed in class.
  • Read the lecture notes and textbook before and again right after each lecture. Work on suggested homework problems to reinforce your understanding of the course materials.

Important Dates

  • January 11: Winter classes start
  • January 12: First lecture of EECS2011
  • February 13-19: Reading week
  • TBA: Midterm test (proctored)
  • March 12: Last date to drop winter courses without receiving a grade
  • March 13 - April 12: Withdrawing from courses and receiving a grade of "W"
  • April 8: Last lecture of EECS2011
  • April 12: Winter classes end
  • TBA: EECS2011 final exam (proctored)
  • April 14-28: Winter exams

Important Notes

This course requires the use of online proctoring for examinations. The instructor may use an online proctoring service to deliver the exam(s), which would be administered through the Learning Management System (e.g. Moodle, Canvas, etc.). Students are required to have access to minimum technology requirements to complete examinations. If an online proctoring service is used, students will need to become familiar with it at least five days before exam(s). For technology requirements, Frequently Asked Questions (FAQs) and details about the online proctoring service visit (link to be posted). Students are required to share any IT accommodation needs with the instructor as soon as they are able.

Several platforms will be used in this course (e.g., Moodle, Canvas, Zoom, etc.) through which students will interact with the course materials, the course director / TA, as well as with one another. Please review the syllabus to determine how the class meets (in whole or in part), and how office hours and presentations will be conducted.

Technology requirements and FAQs for Moodle (eClass) can be found here.

Students shall note the following:
  • Zoom is hosted on servers in the U.S. This includes recordings done through Zoom.
  • If you have privacy concerns about your data, provide only your first name when you join a session and use a virtual background.
  • The system is configured in a way that all participants are automatically notified when a session is being recorded. In other words, a session cannot be recorded without you knowing about it.
Last updated: 10 January 2021