1Foundations & algorithms
- 1.1Discrete mathematics & applied mathematics
Covers the basics of sets and propositional logic, radix (n-ary) number systems and floating-point error, probability and statistics including expected value, variance, the normal distribution, and the correlation coefficient, queueing theory (M/M/1) for computing utilization ρ and average waiting time, and optimization via linear programming and the shortest-path problem.
- 1.2Information theory & encoding
Covers information content, which quantifies how surprising an event is, entropy, the average uncertainty of a source, data compression techniques such as Huffman coding that assign codeword length by frequency, error detection/correction via parity, CRC, and Hamming codes, and character encoding (Unicode/UTF-8, etc.).
- 1.3Data structures
Covers the time complexity of basic operations on arrays, lists, stacks, and queues; tree structures (binary search trees, balanced trees, heaps) for hierarchical data; hashing for direct key-to-location lookup; and graphs for relational data—each paired with its time-complexity characteristics.
- 1.4Algorithms & time complexity
Covers Big-O notation for evaluating algorithm efficiency as input size grows, binary search and hash-based search, the time complexity and stability of quicksort, merge sort, and heapsort, recursion and the divide-and-conquer technique, dynamic programming for eliminating redundant computation, and graph search (breadth-first / depth-first).
- 1.5Programming & AI fundamentals
Covers programming-language paradigms and data formats (XML/JSON), machine learning (supervised / unsupervised / reinforcement learning) and deep learning, CNNs used in image recognition, generative AI and LLMs (large language models), and natural language processing for handling human language computationally.

