Python is a great language that is modern, powerful and easy to learn. It is a great choice as a first (and last) language to learn and used by many members at the kLab.
One of the best resources to start learning Python is to take the Udacity CS101 course. It is important to not only watch the videos but to do and understand the homeworks in it. If you do not finish the course and go through the material you will be missing the core fundamentals that will let you write code in Python in the future.
Note that you can download the Udacity videos at the kLab and watch them at home if you wish. Just come to the kLab and connect to the kLab share, they are in the Udacity folder.
Python courses at Udacity:
CS101 - Introduction to Computer Science - This is a great first course where you will learn basic computer science fundamentals while also learning how a search engine like Google works. You don't need to know how to code to take this course, it starts with no prior knowledge.
CS253 - Web Development - This course shows you how to put together a basic blog using Google App Engine (which is free). It will teach you about the structure of web applications and is the natural course to take after completing CS101. We recommend completing and understanding this course before moving onto learning Django.
Django is one of the best web frameworks to quickly and securely build websites. It is built on top of Python and is used by thousands to develop large, scalable websites. It also is known to have excellent documentation, so for committed learners is a great choice.
This very website is built in Django and you can find the source of it on Github.
We recommend the following path for learning Django:
Official Django Tutorial - First and foremost you should complete (and understand!) the official Django tutorial. This will walk you through setting up your first Django application, creating models and accepting user input. If you don't understand some piece in the tutorial, check the official Django documentation, it is very complete and well written.
The Django Book - Although some pieces are out of date, this is another great tutorial to work through to learn Django. It does a good job of explaining how Django organizes data and views.
A lot of people use plain text editors to work in Python:
- A great free Python specific editor that helps you complete code and detect errors is PyCharm.
- Emacs is a fine choice if you want to learn a powerful general purpose text editor. Note that it has a very steep learning curve however.
Help at the kLab
There are quite a few people who can help with Python and Django at the kLab. Anybody from Nyaruka can help on either: