Fundamental concepts of programming languages, values, variables, type systems, control structures, compilers, code generation, and data structures