1. Fundamental algorithms:
1.1. Big number (plus, minus, multiply and divide), bit-manipulation.
1.2. Data structures: stack, queue, linked-list, how they work together, how they change the style (order) of computing, hash-table (hash-function, conflicts)
1.3. Sorts: Insertion, bubble, shell, heap, divide-and-conquer, quick, counting, radix, bucket, topological.
1.4. Search: Binary (complete in 5 lines), linear, DFS, BFS.
1.5. Graph: minimal spanning tree (prims - run on the vertex set with weight on edges, kruscal - sort edges by weights first and then form a spanning tree), shortest paths(dijes), perfect matching (Hungarian algorithm), independent set and some other basic graph conclusions, coloring problems.
1.6. Graph optimizations:
1.7. Computational geometry: Convex hull.
1.8. Mathematics: vector, matrix, inner-product.
1.9. Dynamic programming and greedy methods.