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 include: digital logic, memory, processors, assembly language, high level languages (C), hardware/software interaction and operating systems.
Students will gain 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 assemblers for translating assembly languages into machine code and for program optimization
- Compare and contrast the different approaches to programming languages and make decisions on what approach is best for a particular problem
- Outline the organization of the logic elements in computer architecture
- Demonstrate knowledge of how computers represent programs and data
- Identify and explain system functions of Operating Systems and their differences from user functions in a programming language
Degree list
The following degrees include this course