Course
code CS312
credit_hours 3
title Computing Algorithms
arbic title
prequisites CS212
credit hours 3
Description/Outcomes This course introduces the mathematical design and analysis of computer algorithms. Algorithm complexity, growth of s, recurrences will be covered. Algorithm design techniques such as divide-and-conquer, dynamic programming and greediness will be introduced. Moreover, well known algorithms for e.g. sorting, searching, graph problems andrncomputational geometry will be developed.
arabic Description/Outcomes
objectives 1. Apply asymptotic time complexity analysis to choose among competing algorithms.
2. Construct and solve recurrence equations describing the asymptotic time complexity of a given algorithm.
3. Identify the best algorithm design technique for a given problem.
4. Implement efficient algorithms using the appropriate data structures.
arabic objectives
ref. books Levitin A., Introduction to the Design and Analysis of Algorithms, Pearson.
Steven S. Skiena, The Algorithm Design Manual, Springer-Verlag
arabic ref. books
textbook Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, Introduction to Algorithms, The MIT Press.
arabic textbook
objective set
content set
course file 530_CS312_CS312.pdf
Course Content
content serial Description