Outline
Rationale
This first part of EMAT10006 is about programming in C. However it is also about more than that. You have already completed EMAT10007 which covered programming with Python. EMAT10007 focusses on getting started with the basic concepts of programming such as writing and executing code and thinking about loops/functions etc. The idea is to think about how to do stuff without spending too much time learning all of the details about how computers work. This is possible in Python because Python is a high-level language that is quite distant from basic machine code.
C on the other hand is (relative to Python) a low-level language. When writing C code it is necessary to understand a little more about how the hardware in your computer actually executes your program. So this unit will also focus on ideas like machine code, memory, the CPU, execution and so on.
Topics
In terms of the programming language C we will cover the following topics:
- Basic printing and variables
- Basic types and arithmetic
- Conditionals and branching (if statements and loops)
- Functions
- Arrays and pointers
We will also along the way look at a number of other general computing topics:
- How to use a terminal
- Running command line programs (such as gcc)
- Creating programs with a command line interface
- Understanding the binary representation of numbers
- The ASCII code
- Assembly code and machine code
- Memory layout
Next section: Getting started