Course Summary
Essentials of Computing introduces you to foundational concepts and techniques in Computer Science. You will learn and apply fundamental theories of computation and how these are realised and related to different programming paradigms. Topics include the study of various models of computation (e.g., finite state automata, grammars, regular expressions, Turing Machines, lambda calculus), computational complexity (e.g., P vs NP), limits of computation, and realisation of computation via programming paradigms (e.g., imperative vs declarative programming).