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!):
- Non-Programmer’s Tutorial for Python 3
- Think Python: How to Think Like a Computer Scientist
- How to Think Like a Computer Scientist: Learning with Python 3
- Learn Python the Hard Way
- A Byte of Python (Chapters 8–17 apply)
- Hands-on Python Tutorial
- Computer Science on Khan Academy
- *Problem Solving with Algorithms and Data Structures
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:
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:
- Beginning Game Programming for Teens with Python
- Introduction to Interactive Programming in Python: Build your own mini-games
- Invent Your Own Computer Games with Python
- TkDocs: build high quality Tk user interfaces with Python3
- py4fun: Programming a video game
- Udacity CS101: Introduction to Computer Science
- *Udacity CS212: Design of Computer Programs
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
- You will learn to program in one of the best programming languages, Python.
- You will be able to dive into further documentation and create command-line programs, scripts, full-windowed applications, games, …