Assembly Language Programming
Code | School | Level | Credits | Semesters |
COMP1054 | Computer Science | 1 | 10 | Autumn UK |
- Code
- COMP1054
- School
- Computer Science
- Level
- 1
- Credits
- 10
- Semesters
- Autumn UK
Summary
This module is about programming a computer at the lowest level in machine code using assembly language. The mode will introduce the low-level machine code instructions and show how these can be combined to form programs.
The module will show how higher-level programming structures (such as conditional statements, loops, arrays and functions) are implemented at the machine code level.
The module will be taught in a practical fashion with students given regular programming exercises in assembly language to hone their skills in writing and debugging programs.
The module is designed to be taught alongside the COMP1005 Programming and Algorithms module.
Target Students
Available to Level 1 students in the School of Computer Science. Available to inter- campus mobility students and other exchange students in Computer Science. This module is not available to students not listed above, without explicit approval from the module convenor(s). This module is part of the Operating Systems, Networks and Security theme in the School of Computer Science.
Co-requisites
Modules you must take in the same academic year, or have taken in a previous year, to enrol in this module:
Classes
Online Lecture Engagement: 11x1-hour to provide demonstrations of writing programs in assembly language Computing: 11x 2-hour lab (shared with other first year modules) Pre-recorded material to cover background
Assessment
- 67% Coursework 1: Portfolio of programming exercises
- 33% Exam 1 (2-hour): Computer based Exam
Assessed by end of autumn semester
Educational Aims
The aim of this module is to give students a basic understanding of the fundamental architecture of computers and software by looking at how the computer can be programmed at the machine code / assembly language level.Learning Outcomes
To be able to program a computer in assembly language.
To understand how high-level programming constructs are constructed from simpler instructions
To understand how simple data structures are represented in memory
To be able to debug simple computer programs