Machine language
low level language a computer can respond directly to e.g. binary, hexadecimal
Assembly language
low-level symbolic code converted by assembler which has strong correspondence between the instructions and the machines code instructions
High level language
Strong abstraction from the details of the computer, Easy for programmers to understand
Syntax
specifying algorithm using a programming language
Semantics
Meaning of your program
Selection
Only run code when certain conditions are met. IF statements
Iteration
Using loop to execute same lines of code
Sequencing
Run code in line by line, in order, from top to bottom