Foundation of CS; designing and analyzing efficient problem-solving algorithms.
Core software managing hardware and resources: process management, memory, file systems, security.
Design and functionality of hardware systems: instruction sets, memory organization, processor design.
Translating high-level code into machine code; essential for programming languages.
Fundamental limits of computation: automata theory, computability, complexity theory.
Design and use of databases: relational databases, query languages, data integrity.
Design and implementation of networks: protocols, routing, security.