This course provides an introduction to the design and analysis of algorithms. It covers a variety of classical algorithms and their complexity and will equip students with the intellectual tools to design, analyze, implement, and evaluate their own algorithms.
(CSCI 603, CSCI 605, and CSCI 661, with B or better in all courses) or equivalent or permission of instructor (students who take CSCI 261 may not take CSCI 665 for credit)
Course Outcomes
Students should demonstrate an understanding of basic concepts related to the design and analysis of algorithm. Evaluation: Assessed by homeworks and exams.
Students should demonstrate knowledge of classical algorithms and their complexity. Evaluation: Assessed by homeworks and exams.
Students should be able to design and analyze their own algorithms. Evaluation: Assessed by homeworks.
Students should implement, experiment with, compare, and report on various algorithmic solutions to the same problem. Evaluation: Assessed by a programming project (programming homework assignments).