Computing is increasingly used a key tool for problem-solving in general and in mathematics in particular. You will learn fundamental skills for computer programming and advanced paradigms in programming. This is a course to help you demonstrate algorithmic thinking, translating high level language to machine language, and to create programmes to solve computational programmes. In this course, you will also be introduced to Python. The skills you will learn in this course can be used to solve computational problems in various contexts.