Teach Coding Concepts With GitHub Nick Quinlan March 24, 2014 Technical // SUMMARIES ?> Getting started with coding is hard. We’ve addressed it many times on the blog, including posts on building a conceptual framework and thinking about it from a program design standpoint. In my mind, one of the easiest ways to get going is to be sitting near someone who knows what they’re doing and can offer advice when you get really stuck. There are, naturally, problems with this method–the person helping can become a crutch and of course you need the person to be there with you. One interesting solution that I and others have been exploring is moving the process to GitHub. GitHub gives developers an amazing set of tools to comment on each others’ code, down to the line number on a commit. It further gives the opportunity to add long (visible) explanations either through git commits or pull requests. Through the combination of all these means of commentary, developers are given a powerful teaching and learning environment. Using GitHub, the “mentor” can watch as the “mentee” writes their code and offer comments as they go. The mentee can further reach out for help and ask questions. Finally, pull requests can always be made with in-depth explanations of what the changes were and why they were made. In the end, all of these actions are simply good git practice and use of GitHub’s tools; but their impact can be powerful. By reviewing someone else’s code and writing a few sentences you can provide an informal asyncronous learning enviroment for someone else. If you know someone trying to learn to code, I encourage you to offer to help them. Join them on GitHub, watch their repo and start contributing. I grabbed these screenshots from my interactions with Sean Durfee an awesome UBC Student and Jade Dominguez’s interactions with Francine Lee an awesome student of TradeCraft. If you’re new to coding and want more advice from your fellow developers, check out this post from last year that asked several experts to weigh in about the best language to learn programming.