This is my original links page. I have also started a Link Blog for more current-events-like links and readings.
I have been overwhelmed by the number of resources out there to teach yourself to code. Things have changed so much since the days of “rtfm”, and there are so many options for people who need more than a dry users’ manual to learn a new skill. Here is a list of resources I’ve found particularly useful or awesome:
If you don’t know where to begin, start at the top and work your way down.
Python For Everybody (Py4E) is where I got serious about coding. I discovered Py4E through Coursera but discovered through the course itself that all the materials are available online for free, including the textbook, and are all released under a free and open source license. Dr. Charles Severance is incredibly serious about making coding accessible to everyone.
Coursera has been a great fit for me because I always liked formal classes, with organized structure and the use of audio, visual, and interactive teaching methods. Most of the classes are free, but you can pay for certificates and access to graded quizzes. I don’t like that you have to pay to have your assignments graded, but given the cost of coding bootcamps, this is a real bargain. Buyer beware though: some classes are real duds. Take advantage of the free trial and don’t be afraid to dump a class it’s not working out. I recommend the three specializations based on the three courses listed above (Py4E, WA4E, WD4E).
Free Code Camp is just that: a free, fun way to learn to code, mostly focused on web development and design.
Quick Base’s programming basics for students is a short primer about what tools to start learning if you’d like to start learning. It includes a list of links to popular educational tools, and some lesser-known tools as well. (Thanks for the tip, Noah and Kathy!)
Invent with Python is a series of books designed to teach beginners and make life easier for experienced users. I especially loved Invent Your Own Computer Games with Python for making fun little games by working through the book’s examples, and Automate the Boring Stuff with Python as a handy reference guide for all those little tasks that are, well, a little dull.
Codewars turns coding into a game. You do progressively harder challenges (kata) and earn points to level up. I think it’s really helpful to work through an exercise and then see how others solved the same problem.
Codecademy was something I’d tinkered around with before I ever got serious about coding. Codecademy gives fairly straightforward lessons that are easy to solve (and therefore can be hard to retain) and are occasionally buggy, but it gave me a lot of confidence to start pursuing this more seriously.
Selfcare.tech is a repository of self-care resources for tech folks and others who spend a lot of time on their computers. It’s also crowdsourced, so you can contribute tools to help others.
CSS Zen Garden is a beautiful illustration of how powerful CSS is.
Regex quick guide this came from Py4E, and it covers the basics, so I tape copies in new notebooks as I start them.
Optimizilla, a free online image compression tool, useful for images up to 20 MB.
Website Planet’s Image Compressor, a free online image compression too, useful for images up to 50 MB. (Thanks for the tip, Anna!)
MAMP, an easy and mostly painless way to run a webserver locally. (Content warning for the MAMP homepage: there’s a rapidly moving carousel that’ll make your head spin. I emailed them about it once and they said they’d consider changing it next time they update their site. We’ll see.)
Python Anywhere, a free full Python desktop environment and hosting service in the cloud.
Exercism.io, a way to learn a whole bunch of languages and practice using the command line.
Hacktoberfest, spend October making 5 great pull requests on any GitHub repositories of your choosing, and get a free tshirt– along with the satisfaction of knowing you just contributed to some cool open source projects.
Outreachy offers three-month paid internships for oppressed people to work in Free/Libre and Open Source Software (FLOSS). Interns work remotely and can be anywhere in the world. According to their website, “anyone who faces under-representation, systemic bias, or discrimination in the technology industry of their country is invited to apply.”