To start with we will spend a couple of words on the approach and the goals of the book, then we will deep dive into the code.



The tutorials mostly deal with fundamentals of Python 3, data analysis (more like raw data processing rather than statistics) and some applications (dashboards, databases, ..)

What are *not* about:

  • object oriented programming theory

  • algorithms, computational complexity

  • performance

    • no terabytes of data …

  • advanced debugging (pdb)

  • testing is only mentioned

  • machine learning

  • web development is only mentioned

Why Python?


  • Easy enough to start with

  • Versatile, very much used for

    • scientific calculus

    • web applications

    • scripting

  • widespread both in the industry and research environments

  • Licence open source & business friendly

    • translated: you can sell commercial products based on Python without paying royalties to its authors

Approach and goals

If you have troubles with programming basics:

If you already have some programming skills:

Other guides: you can find links to further material in References page

Doesn’t work, what should I do?

While programming you will surely encounter problems, and you will stare at mystierious error messages on the screen. The purpose of this book is not to give a series of recipes to learn by heart and that always work, as much as guide you moving first steps in Python world with some ease. So, if something goes wrong, do not panic and try following this list of steps that might help you. Try following the proposed order:

  1. If in class, ask professor (if not in class, see last two points).

  2. If in class, ask the classmate who knows more

  3. Try finding the error message on Google

    • remove names or parts too specific of your program, like line numbers, file names, variable names

    • Stack overflow is your best friend

  4. Look at Appendix A - Debug from the book Think Python, by Allen B. Downey:

  5. Gather some courage and ask on a public forum, like Stack overflow or python-forum.io - see how to ask questions.

How to ask questions


If you want to ask written questions on public chat/forums (i.e. like python-forum.io) DO FIRST READ the forum rules - see How to ask Smart Questions

In substance, you are always asked to clearly express the problem circumstances, putting an explicative title to the post /mail and showing you spent some time (at least 10 min) trying a solution on your own. If you followed the above rules, and by misfortune you still find people who use harsh tones, just ignore them.

Installation and tools

  • If you still haven’t installed Python3 and Jupyter, have a look at Installation

Let’s start !