Business and technology qualifications, Levels 3-6, in Brussels. Explore qualifications
Portal login

Principles of Computer Systems

CYB403

Course CodeCYB403
ECTS

Course Description

This unit introduces the foundational concepts, methodologies, and techniques of computer systems and hardware. It focuses on the essential elements of how computers operate, covering topics such as logic design, state machines, assembly-level representation, parallelisation, and performance evaluation. Students will explore system design both theoretically and practically, enhancing their understanding by implementing their own designs and critically analysing existing systems. By the end of the unit, students will have developed a deeper understanding of the different components of computer systems, and how they interact to perform information processing.

Course Objectives

This unit introduces the foundational concepts, methodologies, and techniques of computer systems and hardware. It focuses on the essential elements of how computers operate, covering topics such as logic design, state machines, assembly-level representation, parallelisation, and performance evaluation. Students will explore system design both theoretically and practically, enhancing their understanding by implementing their own designs and critically analysing existing systems. By the end of the unit, students will have developed a deeper understanding of the different components of computer systems, and how they interact to perform information processing.

Key Topics

  1. LO1: Understand the architecture and key components of computer systems.
  2. LO2: Understand the types and functions of memory in computing systems.
  3. LO3: Be able to design and implement simple state machines.
  4. LO4: Understand the fundamentals of logic circuits and gates.
  5. LO5: Understand the fundamentals of assembly language and how it relates to higher level programming languages.

Course Outline

Learning Outcomes

  1. LO1 Understand the architecture and key components of computer systems.
  2. 1.1 Describe the key hardware components of a computer system and their functions.
  3. 1.2 Explain how data is processed and transferred within a computer.
  4. 1.3 Explain how different components interact to improve system performance.
  5. 1.4 Evaluate the benefits and impact of parallel processing on computing performance.
  6. LO2 Understand the types and functions of memory in computing systems.
  7. 2.1 Describe the Von Neumann computing paradigm.
  8. 2.2 Compare the different forms of memory that computers use and their roles (primary, cache, and secondary).
  9. 2.3 Analyse the impact of processor-memory separation on computing performance.
  10. 2.4 Evaluate the difference between volatile and non-volatile memory in different computing contexts.
  11. LO3 Be able to design and implement simple state machines.
  12. 3.1 Describe the principles of state machines and their role in computer systems.
  13. 3.2 Design state diagrams for a range of processing scenarios.
  14. 3.3 Implement basic state machines using programming languages and/or logic design tools.
  15. 3.4 Critically evaluate the performance of state machines and propose improvements.
  16. LO4 Understand the fundamentals of logic circuits and gates.
  17. 4.1 Describe the representation of information in binary in computer systems.
  18. 4.2 Explain the common types of logic operation and corresponding logic gates.
  19. 4.3 Explain how logical operations are implemented using transistors in electronic circuits.
  20. 4.4 Explain how complex arithmetic operations can be built up from basic logic.
  21. 4.5 Implement basic arithmetic operations using logic gates.
  22. LO5 Understand the fundamentals of assembly language and how it relates to higher level programming languages.
  23. 5.1 Describe the role of assembly language in performing low-level computer operations.
  24. 5.2 Explain the different assembly languages that exist and evaluate their differences.
  25. 5.3 Analyse how higher-level programming languages are abstracted from lower-level languages and the benefits of doing so.
  26. 5.4 Implement basic routines in ARM assembly language.
Scroll