CSC 491/ECE 492 - Design and Analysis of Algorithms1

Course Information


Course Description

This course covers the fundamentals in algorithm design and analysis, focusing on the themes of efficient algorithms and intractable problems. Topics include divide and conquer algorithms, graph algorithms, greedy algorithms, dynamic programming, NP-completeness and reductions. The course goal is to provide a solid foundation in algorithms for students in preparation for a job in industry and more advanced courses.

Tentative topics

Can you solve these problems?


Prerequisites

CSC316 OR (CSC 226 AND ECE 309)


Evaluation


Exercises

A list of written exercises will be provided. They will not be graded. Grader/TA will go over the solutions during their office hours. Solutions will be provided before quizzes.


Quizzes

There will be 3-4 questions per quiz. At least 50% of the points will be taken from the written exercises.

Regrade policy:

If you dispute the grade received for a quiz, you must submit, in writing through Gradescope, a detailed and clearly stated argument for what you believe is incorrect and why, within 5 days after the homework was returned to you.

All regrade requests will be reviewed by the instructor. Requests of regrade of a specific problem may result in a regrade of the entire assignment. This regrade and written response is final. Keep in mind that a regrade request may result in the overall score for an assignment being lowered.


Grades

Range Letter grade
≥ 30% and ≥ 2 SD below min{60%, AVG} D- or above
≥ 30% and ≥ 1 SD below min{60%, AVG} C- or above
≥ min{60%,AVG} B or above
≥ 1 SD above min{60%,AVG} A- or above
  1. The official course titles are CSC 491 - Advanced Algorithms and ECE 492 - Fundamentals of Algorithms. The former is misleading, but due to well-established bureaucratic procedures, fixing the name takes time and will not happen as of Fall 2025.