I recently shared some “getting started” type resources with a connection who is curious about coding and learning how to code. After spending 2.5 hours composing a very long email, I realized that I had also written a post.
For context, this person had played around with HTML and CSS on Myspace back in the day but didn’t have any preconceived direction that they wanted to go with coding. There was no timeline for learning anything specific but they expressed an interest in using whatever they learned in future employment scenarios.
This is a modified version of I sent them. The resources specific to Portland, Oregon will be called out with an asterisk *.
As you read this post, please keep in mind where I was coming from, i.e. my approach to beginning to learn computer science and more specifically Python. It was very focused, so if I have missed resources in this post that you feel are absolutely essential to people curious about coding, please feel free to say something.
Where to Start?
Okay. So you’re curious about coding. Now what?
Short story, start learning fundamentals of a language and discover things that continue sparking your curiosity about coding, technology, and computer science. Projects come from that and are ultimately the best way to integrate what you learned.
- Free Codecamp (same website as above) – it provides a nice overview of areas that can become specializations – you can go from the first certificate to the last and get exposed to a comprehensive set of topics. It goes broad enough for someone curious about coding to discover what they naturally gravitate towards. It doesn’t contain everything, though, so continue to keep an open mind to other resources.
- EdX’s front end developer certificate from W3 Schools (free but can add verified cert for $) – I’ve had a good experience with EdX and like the structure and formality of my certificate on Python. While it didn’t integrate external projects, it did provide ample opportunity to practice what I’d learned immediately. It also broke material into digestible chunks and prevented me from getting too frustrated.
- *PDX Code Guild (a bootcamp) Intro Course – If you prefer in person and are interested in checking out local bootcamps (great way to network and also see all pros and cons in the article above :)), go for it.
- If you’re interested in Python, anything Al Sweigart.
Articles, Books, Podcasts – Oh My!
And while you’re trying to figure out what all of that means…
- @AliSpittel‘s eBook on learning to code – very helpful and a great first thing to read.
- If you’ve ever considered a coding bootcamp, this article walks through the thought process of that decision in a way that was helpful to me.
- A People’s History of Computing in the United States – this book made me appreciate the history of computing in such a way that inspired me to learn more deeply and move forward with a greater respect for the field. Overall, a beautiful book.
- Command Line Heroes – I started listening to this podcast from Redhat in the 2019 season, which devoted one episode to a brief history of how each major programming language was developed. Again – it provided me with context for what I was trying to learn and a greater appreciation for the field.
Other Important Resources
I separate the below out into resources because they’re not good starting points for a structured learning path, but are essential to be aware of.
- W3Schools – an excellent resource but doesn’t integrate much with projects. If you’re getting stuck on Free Codecamp, recommend going to this resource to find things explained in different ways. And if you just want to poke around and check things out, also great for that; was a bit overwhelming for me in that regard.
- Github – find a tutorial on Lynda on this, it’s a fundamental tool to learn in time. This is a great place to find projects to work on; poke around once you start learning a language.
- Stack Overflow – a fundamental place to ask questions or just find answers. This will be a home for you to find information during your learning process.
- Lynda (free through *Multnomah County Library) – these are videos only and there is so. much. content. It’s easy to get lost in here. I recommend using it like W3Schools. Want to learn about a topic or language and need a brief overview? Find a course on Lynda.