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 |