Contents (hide)

Welcome to Data Structures homepage

The Goal

The goals of this course are to learn a variety of useful data structures and to use them properly when designing efficient algorithms. During this process we will define (asymptotic) runtime and space efficiency of algorithms and their data structures. We will learn how to design algorithms and data structures to efficiently solve problems.

Contact

For any problem that doesn't have to do with the material of the course, fill in the appropriate form in the student request system. Examples for this are Miluim/hospitalization.
For questions regarding the course material or homework assignments, use the Forum. You are welcome to come to office hours, we'll be glad to have you.

Staff

See Course info

Textbooks

We encourage you to try several textbooks and see which fits you best. Here are few suggestions:
  • Introduction to Algorithms, Cormen, Leiserson, Rivest and Stein (2nd edition, 2001). This is the main textbook. There is also a Hebrew edition.
  • Algorithm design : foundations, analysis, and Internet examples, Michael T. Goodrich, Roberto Tamassia.
  • Data structures and algorithms in Java, Michael T. Goodrich, Roberto Tamassia.
  • Data structures and algorithms, Alfred V. Aho, John E. Hopcroft. Jeffrey D. Ullman.
  • Data structures & their algorithms, Harry R. Lewis, Larry Denenberg.
  • Algorithms in C++, Robert Sedgewick.

Course Requirements

Homework Assignments

The weight of the homework assignments is 22%. Read the instructions and the grading policy: Homework Policy
For special cases, such as army reserve, hospitalization, etc. an exemption or extension from an assignment might be approved, under the right conditions. You should state the reason for your exemption / extension, and must send the appropriate documentation. All special cases are handled only in the student request system. Only requests that are received before the relevant deadline will be considered.
In details:
  • One day delay in submission - cost you 20% of the grade.
  • Two days delay in submission - cost you 40% of the grade.
  • More than 2 days delay in submission - you'll get no points for that assignment.

  • Weekly Quizzes:

    Quizzes are done online, and you need to login in order to do them.
    Every two weeks a new quiz will be published in the Assignments page, and will cover the material studied in that week.
    Each quiz will have a deadline and you will receive a grade for the quiz if you meet the deadline. Each quiz will remain online after the deadline but you will no longer be able to receive a grade.
    The final grade for the Quizzes will be the average of all quizzes.
    The grade is calculated and presented to you as soon as you submit your answers. You can submit the quiz as many times as you want, while only the last submission is considered.

    Final Exam

    In order to pass the course, you must pass the final exam (with grade of at least 56). The weight of the final exam is 78%.