GitHub Codebooks and Codeboards: Keeping Track of Learning

Image of Codeboard Repo

GitHub has long been the most important tool for coders and technologists and a core skill at SkilStak. It has been fun watching GitHub evolve since the beginning of its educational program. But without anything particularly special GitHub is already an amazing tool for educators and those learning.

Codebooks

After five years of learning and tweaking I have arrived at what I believe is the optimal way to use GitHub to help students track their learning in a way that they can share without making them look like total beginners to anyone browsing their GitHub repo.

The idea is a codebook. A single repo (some might call a mono-repo) to contain all their research, notes, little projects and big that they are doing to learn and explore. The README.md of such a thing explains how the repo is a catch-all for experimentation and discovery implying not to judge the person by its contents alone.

This is a nice place for nostalgic projects and such including what will be many's first code. Every coder should enjoy looking back through the first code they ever wrote someday, like a tech cedar chest for coders. I have witnessed the smiles on now veteran coders faces as they look back at the first code they wrote all those years ago.

The obvious value is that everything is also backed up as it is being learned and in a way that is written in the learner's own words. They can comment up the code to remind them about things and organize to their own desires. This ownership promotes a strong sense of accomplishment and personal responsibility for their own learning.

Codeboards

The term codeboard is relatively new. I've been using them for a while but just didn't have a name for it, so I invented one.

I have been organically keeping all the code from every lesson and class that I do live in a repo to refer back to. Those learning the material can pull up what was “on the board” any time and even see the revisions over time by looking at the change history. This is exactly the skill and practice we should be encouraging in everyone, not just technologists.

Recently I went further and created a public repo for each student by their semi-private ID. Now each can monitor what was specifically in the private or paired lesson. Parents can look at it as well. IDPs can be stored and measured. But best of all …

Progress can be stored in JSON and other files and called up from anywhere in whatever form. That's right, you can mashup the information from a codeboard with any kind of app to create different visualizations of progress. I can't wait to get to that point. SkilStak.io will soon have a way to punch in your ID and get all your progress visualized in different forms. I have been wanting that for some time now. The infrastructure is finally in place and there isn't a single database involved. That's right, everything is JAMstack friendly and serverless.

So far it has been much better than Google Docs, which is slower and has no real sense of versions. Eventually I hope to make all progress visual display against specific learning objectives and titles. This was the hope all along.

Managing specific lesson content this way has the added advantage of being directly transferrable into the content on skilstak.io. As I document something in a particular lesson I can literally just cut, paste, and edit it immediately into the main code base of our progressive web app which is then immediately available to everyone else. I do not have words for how wonderful this has been. Without this level of efficiency there is no way I could maintain 50 hours of private, paired, and classroom lessons along with all the writing and curriculum updates required to keep it relevant. I want to shout this from the rooftops to all the EdTech people out there in the hopes of helping them out.

💢 Stop wasting money on SmartBoards! SmartBoards are ridiculously stupid purchases. Even those who have the money are still not getting a tool as good as a large-screen 4k monitor connected to a computer, or several. Even a bargain projector and a whiteboard blow away the usefulness of a SmartBoard.