The C programming language is widely used for writing programs that closely interact with hardware, most importantly operating systems (e.g. Unix, Linux, MacOS). C++ extends C with some modern features that are useful for structuring very large programs. C and C++ are widely used in industry, for example in game engines. This module introduces students to the challenges of systems-level programming, such as memory safety.
Learning Outcomes
By the end of the module students should be able to:
demonstrate understanding of computer architecture