Module overview
This module introduces the principles and practise of programming, with the assumption that students may not have any prior experience in programming. The teaching language is Python, as this is relatively accessible to new programmers, but also an important language for describing and coordinating computation in real-world problems. The module will introduce the key concepts of imperative and structured programming, and use examples of solving real-world problems with actual data inputs and outputs. By the end of the course, students should be competent programmers, and able to use programming as a tool to solve previously unseen problems.