Resources for learning Python
>> Monday, June 17, 2013
When I started working at Mozilla, I didn't know Python very well. All of the code that drives our continuous integration is written in it so I've had a spent a lot of time becoming more proficient. I've taken a number of free self-study classes/tutorials that others might find useful getting up to speed with Python.
Google Python class - Two day class that describes how to manipulate strings, dictionaries, lists. File I/O, regular expressions and sorting algorithms. Class lectures that were recorded at a Google training event are available on youtube, and the exercises are pretty straightforward with a solution key to check your work. All the exercises are done using the Python installation on your local machine.
Code academy has a Python class. I did the exercises for the topics that weren't covered in the Google class, including list comprehensions, lambda expressions and OO in Python. The exercises are completed and validated on the website.
The best course I've taken so far has been the nine week Interactive Programming in Python class offered by Coursera. Coursera is a company that offers university courses for free. You receive a grade and certification of completion, but not an actual credit at the institution. The Python course I took is in conjunction with Rice University. For this course, you have to register for the course when it's run and complete the work each week. There are an hour or so of video lectures, a quiz or two and an assignment to complete for around 8-10 hours of work each week. After you submit your assignment, you're asked to review the work of five other students. This is how to scale marking assignments for the thousands of students enrolled in the class :-). The code for your assignments is written in the browser, on the CodeSkulptor website.
Syllabus for coursera course |
Screenshot of final asteroids game |
Mr. Releng also took this course at the same time I did as he is also using Python at work. I said to him one day that I certainly wouldn't wanted to have attended all my university courses online as I always liked to ask questions in class. With the pre-recorded lectures, the only way to ask questions is on the associated forums. He agreed, but said while this was probably not the future of university, it was certainly great for continuing education.
Other Python resources I looked at include http://www.learnpython.org/. The pyvideo website includes talks from many of the PyCon and related conferences here which are interesting to watch.
What resources did you use to learn Python?
4 comments:
Python was my first OOP language. I learned with Dive into Python, and a french version of Thinking like a computer scientist. I created a simulator for the problem of Iterated Prisoner Dilemma implementing several strategies and tournaments (avoiding genetical algorithms). Then I went into learning web via Django, created some rpmfind website for gentoo. Then mostly through experiencing with specific contruct of the language when they happens to hit the news through PEPs or blog post, slides or talks or just buzz and code golfing. I use extensively Python documentation and somewhat stackoverflow (subscribe to tag feature is useful). I learnt little by actually reading other people softwares code, probably a mistake. Python tutor mailling list is also interesting.
I'm currently reading http://aosabook.org/en/index.html which is not Python specific but still interesting, actually that's how I know your blog!
Python was my first OOP language. I learned with Dive into Python, and a french version of Thinking like a computer scientist. I created a simulator for the problem of Iterated Prisoner Dilemma implementing several strategies and tournaments (avoiding genetical algorithms). Then I went into learning web via Django, created some rpmfind website for gentoo. Then mostly through experiencing with specific contruct of the language when they happens to hit the news through PEPs or blog post, slides or talks or just buzz and code golfing. I use extensively Python documentation and somewhat stackoverflow (subscribe to tag feature is useful). I learnt little by actually reading other people softwares code, probably a mistake. Python tutor mailling list is also interesting.
I'm currently reading http://aosabook.org/en/index.html which is not Python specific but still interesting, actually that's how I know your blog!
I learnt with:
- A french version of Thinking like a computer scientist
- Dive into Python
I add to the list of Python ressources:
- Python tutor mailling list
- Subscribe to tag feature of stackoverflow
- PEPs
- And of course Python Documentation
:)
I have read you blog..very useful information for Python training.Thank you for sharing you article. Python Training in Chennai |Python Training institute in Chennai
Post a Comment