EECS 3101: Design and Analysis of Algorithms
Winter 2019

General Information

Instructor: Suprakash Datta
Office: LAS, room 3043
Telephone: (416) 736-2100 ext. 77875
Facsimile: (416) 736-5872
Lectures: TuTh 1 - 2:30 pm in HNE 038
Tutorial: Fri 1 - 2:30 pm in HNE 038
Office Hours : Monday, Wednesday: 3 - 4:00 pm, or by appointment
Email: [lastname]@cse.yorku.ca (To the extent possible, please use your yorku account when sending me email.)
TA:

News:

Assignments

Tutorials

Lecture schedule

Notes
1. on the use of slides: I would much rather that you listened actively and understood concepts at real time than take notes in class for later use. Ideally, I would like you to read the slides after class and identify concepts that you did not understand and ask questions about them in the next class.
  1. Jan 3: Administrivia. Introduction to algorithm analysis . Loop invariants. We reached slide 11 of this set
  2. Jan 8: Finish correctness of FindMax. Analysis of FindMax (slides) We covered all but the last 3 slides.
  3. Jan 10: More on proofs of correctness using loop invariants (slides). We did not reach the proof of correctness of insertion sort.
  4. Jan 15: Finish the proof of insertion sort. Discussion on the assignment. More proofs of correctness (slides).
  5. Jan 17: More correctness examples. Divide and Conquer Algorithms (slides).
  6. Jan 22: Solving Recurrences to analyze Divide and Conquer algorithms (slides); typos in slides fixed. We did not cover the last 7 slides.
  7. Jan 24: Finish Divide and Conquer. Start more sorting algorithms (slides)
  8. Jan 31: Finish sorting slgorithms (4 slides were added to the previous set). Lower Bounds (slides).
  9. Feb 5: Linear time sorting (slides). If time permits, Medians and order statistics (slides).
  10. Feb 7: Finish order statistics. Dynamic programming (slides).
  11. Feb 12: Dynamic programming continued
  12. Feb 26: More Dynamic programming (slides).
  13. Feb 28: Still more Dynamic programming (slides).
  14. Mar 7: Finish Dynamic programming. Start greedy algorithms (slides).
  15. Mar 12: More greedy algorithms (slides).
  16. Mar 14: Finish greedy algorithms, start graph algorithms (slides).
  17. Mar 19: More graph algorithms (slides).
  18. Mar 21: Graph search algorithms (slides).
  19. Mar 28: Shortest path algorithms (slides).
  20. Apr 2: Intractibility (NP-completeness) (slides).

 Course summary:

The list of topics we will try to cover includes the following. The Section numbers refer to the required text. Relevant chapters: 1,2,3,4,6,7,8,9,15,16,22,23,24,25,26,34,Appendix A,B.

Enrollment

Enrollment in EECS 3101 is managed by the Computer Science Undergraduate Office (UGO) (operating hours posted on the door). Please note that your professor will not be able to enroll you.

Textbook (required)

Optional Supplementary Reading

Other References 

Course policies:

Important Dates:

Grades

NOTE: Grades will be available on moodle.