Linear and non linear data structures, searching and sorting algorithms, dynamic programming, recursion and backtracking