[Full disclosure: I am not a programmer. I am fortunate that we had a Commodore 64 as a kid that I learned BASIC on and that in 8th grade I typed fast enough to be allowed to learn a little bit more. I took one semester of computer science my freshman year, missed spring, and decided on another major where I got to see the sun (this was 1996--we were only allowed to code on the machines in the basement of the library). I regularly use HTML and play with enough CSS to regularly break my WordPress. Still, I'm not afraid to try, and I enjoy learning. ]
So where to begin? Luckily, there is no shortage of options for those who are looking to get started. Of course it all depends on your motivations for learning a particular language, so there isn’t one way to learn. Many people advocate learning by doing: look at the code or syntax of others and start to emulate it. Others advocate for learning it more like a language, including the nuances, grammar, and structure. I am not weighing in on that debate here today, but here is Jeff Atwood imploring you, “Please don’t learn to code.” I love this article and I think it’s worth considering before you begin.
- Mozilla’s Webmaker Tools: I am a big fan of these tools, especially in terms of their possible uses with kids. Mozilla’s tools are fun and interactive, and focus on web coding. This means largely HTML and CSS. Even if you know how to code, it’s too much fun to play with the X-ray goggles and remix websites for fun. I like putting myself on the front page of the New York Times.
- Programr: While I haven’t tried Programr, it looks promising. Anyone want to tell us about your experience in the comments?
- P2PU: I personally like P2PU’s approach. The focus on community and often real-world projects address my learning style and avoid the pitfalls I mentioned in Codecademy. A user signs up for various courses, and the language you need may or may not be available all the time. I’ve found there are almost always courses running to jump in with, and my overall experience has been positive.
- Udacity and Coursera MOOCs: Massively-Open Online Courses are all the range, and both Udacity and Coursera have recently offered computer science and intro programming courses.
- Stackexchange:I like to lurk on StackExchange, especially in CrossValidated: the community for statistics. This is because I really want to learn R, an open-source “project for statistical computing,” and I can read up on issues folks have and even track down syntax. There are different communities for all types of disciplines, and while this isn’t a place to learn, it is a place to get questions answered.
In addition to these courses and forums, it’s also good to set up groups to learn to code. Having someone nearby to help you learn the MATLAB or SPSS syntax or set up a group of friends to be newbies together, it’s a nice way to get started. Of course, there are always books to be borrowed from the library, too. However you begin, my wish for all the budding coders out there is to have fun, be brave, and don’t worry if you break it.
Have advice for those learning to code? We’d love to hear your suggestions and experience in the comments!
- Martin K Jonsson on 7 Reasons to Write from the Start
- Haroon Siyech on 7 Ways to Survive a Lit Review
- C. McKenzie on Successfully Recruiting Research Participants
- Open Exclusion | The Personal Open Access Experience | microburin on Taking a Chance: My Blog is a Publication
- Yao-Hong Kok on 5 Great Reads for Grad Students
Tagsbootcamp Campus Resources classroom dynamic committee conferences copyright digital archive dissertation Dropbox evernote family fun Funding Google+ grading guest post Health ifttt inspiration job market leaving academia lit review meditation networking parenting productivity professionalism professionalization proposal recipe research semester break Social Networking stress students syllabus teaching thatcamp tools Twitter video winter work flow writing writing groups