East Carolina University
Department of Computer Science

CSCI 3650
Design and Analysis of Algorithms
Standard Syllabus


3 credits Prepared by Ronnie W. Smith, August 2018

Catalog entry

P: CSCI 2530. Formal techniques to support the design and analysis of algorithms. Asymptotic complexity bounds, techniques of analysis, and algorithmic strategies.

Course summary

This course applies techniques and knowledge gained from the discrete mathematics and data structures courses to fundamentals of algorithm design and analysis. The focus is on algorithms that provide an efficient solution to a computational problem. Efficiency refers to optimizing the time and space cost required during execution of the algorithm. While algorithms are ultimately implemented as computer programs, design and analysis fundamentals are independent of any particular implementation language.

Course topics

Student learning outcomes

Textbook

Introduction to Algorithms , Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, 3rd edition, MIT Press, 2009.

Encylopedic coverage of algorithms that can also serve as a reference for a computing professional. After careful coverage of the first four chapters, instructors can pick and choose from many different topics. Common choices have included sorting, dynamic programming and greedy algorithms, graph algorithms, computational geometry, and NP-completeness fundamentals.

Grading

Grading is a based on a combination of homework assignments, quizzes/exams, and a comprehensive final exam. Representative weightings are 25% for homework, 50% for the quizzes/exams, and 25% for the final exam.

Grade meanings

Grade Meaning
A  Achievement substantially exceeds basic course expectations
A−  
B+  
B Achievement exceeds basic course expectations
B−  
B+  
C Achievement adequately meets basic course expectations
C−  
D+  
D Achievement falls below basic course expectations
D−  
F Failure – achievement does not justify credit for course