Learn Python

Programming is most of all fun! Everybody should learn at least some programming.

There are many programming languages available today, and the choice is vast, but with this task, we will focus on Python. Python is deployed on millions of computers and is the simplest general-purpose programming language around. You will learn it now.


Complete any of the following courses (or complete several for more points!):

Links marked with an asterisk (*) are very advanced and should only be attempted by highly talented, skilled, or patient students. These links, accordingly, cover many more relevant topics, resulting in a much steeper learning curve.

You are advised to first take the time to skim through all the tutorials and thoroughly evaluate them by language, clarity, overall length, and depth of covered material. You are likely to expect any of these tutorials to take you at least a week or two to complete (depending solely on the level of your enthusiasm, of course), so better choose well-informed and wisely. Note that any feedback you should provide to to your instructors will help them pick better tutorials for you in the future.

If you experince difficulty in understanding any of the provided examples, or if you don’t completely understand what your Python code is doing, see if you can help yourself by using this Python Tutor Visualization tool.

If you encounter errors, which every inspired programmer should, you can follow this flowchart to debug your program: PythonForBiologists "My code isn't working" flowchart

Only after you have completed at least one of the above tutorials, you can deepen your knowledge (not to mention earn extra points!) by completing also at least any one of these:

Note that you should always write your Python code mostly conformant to PEP-8 style guide, and preferrably in English (when naming variables, classes, …).

Finally, you should read The Zen of Python, and see if you can now explain any of the contained koans.

What you will acquire