### Recommended reading
* How to Think Like a Computer Scientist by Allen B. Downey
* Introduction to programming using Python by Daniel Liang
* The official python tutorial: https://docs.python.org/3/tutorial/
* See links for the websites and free Python e-books on Moodle.
* Think like a programmer.
* Introduction to Python. Variables. Loops. Main method. Conditional structures. Data structure.
* Debugging in Python (using pdb, Pycharm). How to read a program.
* File manipulation: Reading and writing files.
* Object Oriented programming in Python: classes, objects, inheritance, polymorphism, encapsulation. How to build a modular python program.
* Introduction to the Python standard library.
* Testing in Python. Presentation of doctest and unittest.
* Error handling: exceptions.