How to learn to code?

Hey! I’ve recently completed some Codecademy courses, and although I think they’ve given me a fairly good understanding of some basic/general principles of programming, I don’t at all think that they gave me the skills I’d need to make a fully functioning/useful/practical website, app, or program, so I was wondering how/where I could obtain those skills. My school doesn’t offer any sort of computer science class, and I live in a small agricultural town, so there’s not exactly many people/places that could teach me (that I know of). I did look into some 1 and 2 week summer camps (iD Tech & Digital Media Academy) in the nearest big city, but they are pretty expensive (in the $1,000-$2,000 range), and even though my parents might be willing to pay that much, I don’t know that I could bring myself to ask them to fork over that much for just 1 or 2 weeks. Do any of you have any advice? How did you learn to code? Did you ever attend a summer camp like the ones I mentioned? Thanks for any answers you may have. :slight_smile:

I’ve been programming for just about ten years now, and the only courses I ever took have been in the last year due to college. I am otherwise entirely self taught.

What I used to do was look at source code for things close to what I was making, and then make my own and use the original as reference when I got stuck. This is great because you get to do a project you’re interested in, but also have some help for what you’re specifically doing.

Reading code is a big part of it. Understanding code is something that can be adopted from reading a lot of code. Fortunately there are billions of well documented codebases online that you can read.

What language(s) have you learned?

Thanks for replying! Yeah, I think that I might just need to start working on something, however basic it may be, and use Google as a reference when I get totally lost! :wink: So far, I’ve completed Codecademy’s HTML/CSS and Python courses, as well as about 30-40% of their Ruby and JavaScript courses. I’m hoping to improve this summer.

If you like math, the Project Euler challenges might be a good place to come up with ideas for small projects. Python is a good language for that.

Two suggestions on books to read and work through:

  • “How To Design Programs” by Shriram Krishnamurthy and Felleisen (I think)
  • “Structure and Interpretation of Computer Programs” by Abelson and Sussman

The second book is brilliant but it’s a bit run before you walk (it took me six months to read it and do all the problems). It’s in Scheme which scares people (unnecessary IMO as it’s a trivially easy language to learn as long as you avoid call-with-current-continuation; as a programming language, I think it’s easier to learn than Python but Python has massively better libraries which makes it easier to accomplish tasks in). On the other hand, the first book is well-regarded as a teaching book but won’t take you as far.

Other books some people like (count me in this camp) are Felleisen’s “The Little _____” series. They aren’t for everyone but they’re an experience if you read them honestly (if you don’t have an AHHH moment after a chapter, slow down and reread the chapter). I can’t tell you for sure if they make you a better programmer but they’re certainly didactically remarkable.