Introduction to theoretical aspects of computing: modeling algorithms and their run times, computational complexity. Linear data structures (lists, stacks, queues) trees (tries, binary search trees, AVL trees, tree traversals), hashing and hash tables, graphs and their representations, graph algorithms (depth first and breadth first search, single source shortest path algorithms), sorting algorithmic paradigms (divide and conquer, greedy, dynamic programming).
SU Credits : 3.000
ECTS Credit : 6.000
Prerequisite :
Undergraduate level CS 201 Minimum Grade of D
Corequisite :
CS 202R