**Programming and Data Structures**

Programming in C, Arrays, Recursion, stacks, queues, linked lists, trees, binary search trees, binary heaps, graphs.

**Algorithms**

Searching, sorting, hashing. Asymptotic worst-case time and space complexity. Algorithm design techniques: greedy, dynamic programming, and divide‐and‐conquer. Graph search, minimum spanning trees, shortest paths

**Very important topics**

C programming, recursion, linked lists, trees, searching, sorting, hashing, Asymptotic notations

**TextBooks:** Introduction to Algorithms by Rivest, Cormen, Stein, Leiserson

**Note:** Videos marked as **** are advanced and can be skipped if you don’t have time