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 |