How do I even get started?
(This is a cross-post of a blog entry originally found here. It was written in 2014, but still holds up well today!)
A little over a year ago, I began to teach myself to code for my new job at a startup. This was, psychologically at least, a daunting task – I had no programming background except for a C++ class taken eight years ago in high school. But, I had two great support networks in place: very patient coworkers (patient even when I, a lifetime Windows user up to that point, asked where the ‘command’ key was on my new Macbook), and all the great online resources for learning how to code.
In my first couple of weeks, I roughly followed this post with an 8-week curriculum for learning how to code. Some of those links were great, but others were already a bit outdated. So, I wanted to refresh that list a bit and add some additional resources for anybody else ready to start coding but unsure of where to begin.
Note that these resources are generally geared towards the language Python and the web framework Django which is built with Python.
- If you are completely new to programming (e.g. if you have never seen an if/else statement or for loop), here are some friendly, general introductions to computer science:
- If you have had at least a bit of basic programming before and want a Python-focused introduction, try one of:
- The Django documentation has a great “Writing your first Django app” series
- realdjango will not only walk you through Django, but will also help you install your local development environment (which as we know, is painful)
- After going through some of these Django resources, I found it helpful to work on a small, toy project of my own to practice what I just learned
Skills You’ll Need with Django
- Codeacademy has a course on pretty much all of the above topics:
- Treehouse has a track dedicated to web design, which encompasses HTML, CSS and more
- The website w3schools has HTML, CSS, and jQuery tutorials. Though the site may not be as smooth as some others, I find myself often getting directed when Googling questions!
For Later: Other Cool Learning Resources
After I had the very basics of coding down, other topics in computer science began to seem less daunting. Here are some other cool resources that have an educational bent:
- If you’re curious about machine learning, or want to learn some cool skills for data analysis, I highly recommend Andrew Ng’s Coursera course on Machine Learning. It’s a great mix of video lectures and hands-on assignments.
- If you like algorithms and math challenges, check out Project Euler, which has 400+ problems that involve both coding and mathematical reasoning
- If you’re a bookworm, there are impressive lists of free programming e-books, such as this one or Hacker Shelf
Two notable resources that do this post, but better
If you’re looking for other guides to structure your learning, here are two cool websites that also aggregate and organize learning resources for coding:
- For the nerdier: Dunegons & Developers
For the lover of clean designs: bento