Basic programming concepts, data structures, conditional statements, functions and classes.
Problem-solving using a few basic numerical methods associated with mathematics and physics.
The basic functions and data types of the Python programming language: arithmetic operations, arrays of vectors, matrices, graphics functions, lists, tuples, dictionaries, file management.
Use of modules such as NumPy, SciPy and Matplotlib
The representation of floating point numbers and their implications for arithmetic
Syntax: [for], [if-else], [while], list comprehensions, generators
Nested functions, self-defined functions and modules
Classes and inheritance applied to mathematical objects
Tests and profiling