Over the course of this class, I’ve gotten several exit tickets asking how we can get better at Python. The following are resources that can be a good start. Some I have tried, some I haven’t. Be aware that sites vary in quality.
Learning Python
Codecademy: Full disclosure, this is my favorite code learning platform. The lessons are bite-sized and interactive, and it is an entirely web-based platform so you don’t have to install anything. I like it so much I pay for a personal subscription. There are, however, some free courses, including the first one I ever did on Python. An important caveat: only the Python 2 course is free, and we’ve been doing Python 3 in class, because Python 2 is deprecated (that means: no longer being developed–it will never again be updated). There are some differences in syntax, but the basics of logic and data structures are the same.
Dr. Chuck’s Python for Everybody: I have also done this course, when it was free on Coursera (it’s now pay on Coursera). All the materials are still, free, however, including Dr. Chuck’s lectures on YouTube. You will have to make sure Python and a text editor are installed on your computer. You can work through the lessons on your own, and I’d be happy to meet with you for any questions about setting up Python on your computer.
Free to us at Grinnell: LinkedIn Learning has many Python modules/tracks.
Other free resources I haven’t personally tried:
- Google Python
- Udemy Python (multiple tutorials, contributed by third parties)
Python practice
Wouldn’t it be great if there was a site that just had a new small Python problem to solve every day to keep building skills? If you find that site, please let me know. Aside from paying for Codecademy, I haven’t found a great way to find small daily lessons served up automatically.
The best I’ve found is websites with a variety of problems and solutions. Warning: some of these are incomplete and may be frustrating.
- 100+ Python programming exercises
- CodingBat Python exercises
- w3resource.com Python exercises
This ebook includes Python exercises: Python Workbook: Brief Introduction with Exercises and Solutions by Ben Stephenson
This ebook will help you take Python further with applied tasks: Automate the Boring Stuff With Python by Al Sweigart
Becoming Pythonic
“Pythonic” is an adjective that means to not just accomplish a coding task but to do it in a Python-specific way. FizzBuzz is a canonical coding problem that you can solve in any language, but in Python, you can solve it in one line.
If you’d like to feel cool like that, try delving into this list of Python one-liners.