This week has been a lot about making jewelry and a little about coding. Even still, I’ve found some great links for learning Python that I’d like to share.

  • Robot Game – This is a really fun way to practice Python once you have the basics down. You use the Robot Game API to write a robot script that competes with other coders’ robots! Upload as many robot ‘AI’ scripts as you’d like and they’ll fight it out in automated battles.
    • “Robot Game is a game for hackers. You write robots in Python, test them with our kit, and submit them to our server. You can challenge other robots yourself, or wait for the server to match you up automatically.”
  • Python Guide to Structuring Your Project – This guide really helped me understand the basics of project layout in Python. I found it by searching for the meaning and use of the __init__.py file I see so often.  What I discovered was a slew of other helpful tips about variable naming, object types, and importing modules. If you’re new to Python and looking to start your own project, this is an excellent guide to get you started.
  • ActiveState.com Popular Python Recipes – This is a great site for seeing how other people solve small problems. A lot of people give the advice of looking at the code for modules you use to basically see how experienced coders get it done. However, I find it’s often just as helpful to see an assortment of smaller solutions. Perhaps one of them will even give you an idea for your next project!
  • Pyvideo.org – Usually I don’t enjoy watching videos all that much as I generally prefer reading. I can set my pace and reread or stop on something to explore it further. However, sometimes I’m doing something that takes a bit more concentration (like making chainmaille!) and it’s great to throw on some content I can learn from. This collection is almost entirely videos from Python Conferences. The talks are often quite entertaining and on a broad variety of subjects. So if you’re not looking for a video course and instead just something to view for extra Python-to-brain exposure, check out this collection.
  • CoderByte – This site offers three difficulties of programming challenges to complete. It’s actually not just Python either. They offer challenges in Javascript, Python, PHP, Ruby, Java, C, and C++. The challenge is all done in the browser and is meant to test your ability to work with the different fundamentals of the language you choose. Easy and Medium challenges are timed and give bonus points for completing faster. Hard problems are not timed. Here I’ll list an example challenge description from each section:
    • [Easy] Palindrome – Determine if a string is written the same way forward and backwards.
    • [Medium] Array Addition – Determine if numbers in an array can add up to a certain  number in the array.
    • [Hard] Noughts Determiner – Determine the winning position of a Tic-tac-toe board.
  • Dungeons and Developers – This one isn’t specifically Python at all, but it’s a really fun concept that lays out the progression needed to become a web developer. The site displays a skill tree that looks like it could have come from any classic RPG game. Each part of the tree is relating to a different aspect of web development (ie Backend, Frontend, Design, Deployment). For each skill, there are links to tutorials that will help you learn the required knowledge to say “I know this stuff, I have this skill now.” It’s just a really fun and interactive way to challenge yourself and push toward a tangible learning goal.

Let me know if you use any of these and what you think of them. I’d also love to know about any similar resources I might like. I hope these can help you in your code-learning adventures!