Course overview
This course will teach students the elements of computer systems from the level of basic hardware gates, through to compilers, languages, and applications. This course will give an overview of the layered nature of computer systems and how the use of simple interfaces can make the design of complex and powerful systems possible. Topics covered will include: digital logic, memory, processors, assembly language, virtual machines, recursive descent parsing, code generation and operating systems. Students will have a working understanding of how the underlying operating system and hardware of a computer works so that they can make choices and build applications that interact and/or optimise at the low level.
- Hardware
- Software
Course learning outcomes
- Describe the function of basic electronic components and logic gates used in digital circuits and their role in building a computer system
- Describe the structure of compilers for translating high-level languages into machine code and for program optimisation
- Compare and contrast the different approaches to programming languages and make decisions on what approach is best for a particular problem
- Outline the organisation of the logic elements in computer architecture
- Demonstrate knowledge of how computers represent programs and data
Degree list
The following degrees include this course