Business and technology qualifications, Levels 3-6, in Brussels. Explore qualifications
Portal login
Level 4 Diploma in Cyber Security

Machine code, assembly and high-level languages: abstraction and its trade-offs

CYB403 · Principles of Computer Systems — Week 9 of 16

CourseCYB403
Week9 of 16
SemesterI
TutorOnline in the course chat

This week’s topics

Machine code, assembly and high-level languages: abstraction and its trade-offs

  1. Machine code vs. assembly vs. high-level languages: abstraction, its advantages and trade-offs
  2. Role of assembly in computer systems

What you will be able to do

  • 5.1 Describe the role of assembly language in performing low-level computer operations.
  • 5.3 Analyse how higher-level programming languages are abstracted from lower-level languages and the benefits of doing so.

Activity

Start with this week’s 4 videos, then: Seminar, guided reading and a short written task: describe the role of assembly language in performing low-level computer operations.

Study materials

Videos

  • High and low level languages · Oak National Academy, Key Stage 4 (GCSE level) · for registered students
  • Assembly language · Oak National Academy, Key Stage 4 (GCSE level) · for registered students
  • Low Level and High Level Programming Languages · YouTube · Computing @ Boston College UK · 9 min · for registered students
  • C_02 Low level vs High level Languages | Machine and Assembly Language | Programming in C · YouTube · Jenny's Lectures CS IT · 14 min · for registered students

Further resources

  • Introduction to Computer Science, 4.1: Models of Computation · PDF · OpenStax Introduction to Computer Science (2024), 4.1 on machine code, assembly and high-level languages and the procedural and object-oriented paradigms, pp. 144–155 · for registered students
  • Introduction to Computer Science, 7.4: Programming Language Implementation · PDF · OpenStax Introduction to Computer Science (2024), 7.4: compilers, interpreters and running programs, pp. 340–346 · for registered students
  • An empirical comparison of seven programming languages · Open-access article · Prechelt (2000), IEEE Computer. Compares C, C++, Java, Perl, Python and others on run time, memory and development time. · for registered students
Materials marked “for registered students” open in the student portal, which is set up as soon as you receive final acceptance.
Course chat

Admitted students ask questions on this week’s page in the student portal: an AI assistant trained on the course answers first, and during the course’s timetabled classes Connect to your tutor brings your tutor into the chat, who may start a call if needed.

Open this week in the portal
Course plan
  • Week 1: Computer components: CPU, memory, buses, input/output devic…
  • Week 2: How components work together: the fetch-execute cycle, buse…
  • Week 3: Memory: the Von Neumann model, registers, cache, RAM and RO…
  • Week 4: Principles of state machines: finite state machines, Mealy …
  • Week 5: Implementing state machines in Python and Verilog
  • Week 6: Information representation: binary, decimal and hexadecimal…
  • Week 7: Logic gates and circuits: transistors as switches, half-add…
  • Midterm: Midterm evaluation
  • Week 9: Machine code, assembly and high-level languages: abstractio…
  • Week 10: Assembly instruction sets compared: ARM, MIPS, x86, x86-64,…
  • Week 11: Programming in ARM assembly: essential instructions, contro…
  • Week 12: Applying Principles of Computer Systems in practice: case s…
  • Week 13: Assignment workshop: research, planning and referencing
  • Week 14: Assignment workshop: drafting, feedback and improvement
  • Week 15: Review and coursework completion
  • Final: Final assessment and submission
Back to the course
Scroll