Course Objectives: These are notes for a 20-credit module intended for 1st-year maths students with little or no prior programming experience. One of the general aims of this module is to introduce the basics of computer programming in general, and Python programming, more specifically. The emphasis is on the basics and no attempt has been made to provide an extensive coverage of Python. The module is designed to help newcomers develop an understanding of basic programming concepts and structures such as loops, conditional statements, iterations, functions, variables, scope, etc. The second half of the module introduces the rudiments of object-oriented programming and provides a gentle introduction to general concepts such as data encapsulation, inheritance, and polymorphism. By using Python as the programming language of choice, a number of simple mathematical algorithms are also explored in some detail in order to help learners develop practical skills, and become confident in the use of good programming practices.
A word of advice: tools are only useful if you know how to make them work for you; a hammer is a great tool, but not terribly useful until you have learned not to bend too many nails.
Use the menu on the left to navigate through the list of topics covered by this module.
For practice questions and solutions you should follow this link.