Overview
“Videos of this week’s lecture” currently connects to last years lectures if you want to watch ahead, I’ll update the links to the new recordings as we go through.
Programming 03
The focus of this module is memory. By examing how memory is used by software we gain a deeper understanding of how code actually works. We can then use that understanding to write code that is faster and uses memory more efficiently.
We will look at how memory is separated in to different areas and how we use those different areas.
We will also look at memory at different levels.
- The Java programming language hides how memory is being used. This makes coding easier but restricts what we can do potentially make code slow and inefficient.
- The C programming language is a much older language and works at a lower level. To program in C requires us to be aware of how different types of data are stored and accessed.
- Assembly Language is even older and works at an even lower level than C. In Assembly we access memory through the registers in the CPU.
We will be coding at these three levels, focusing on how memory is used.
Why?
A deeper understanding of computer memory can improve our code by making it faster and/or more efficient. (Speed and efficiency are sometime incompatible!). An understanding of memory also helps in other subjects like Artificial Intelligence and Cyber Security. Coding at lower levels like C and Assembly is an essential skill in Cyber Security and embedded programming.
Module Goals
The aims of this module is to gain a good understanding of:
- how memory works in a computer
- how operations are carried out at a low level
- the basics of the C programming language
- the basics of Assembly Language
You should build on your previous skills in
- analysing a problem and designing a solution
- coding
- Previous
- Next