Creative Coding with Social Version-Control: Enhancing Collaboration, Iteration & Transparency
The use of version-control is widely considered a best practice for software creation; both for larger, collaborative projects, and for solo development in research and creative contexts. Beyond enabling efficient collaboration between diverse contributors, version-control enables rapid, risk-free iteration, an important element of creative practice[2,3]. In recent years version-control has been radically transformed, first by the invention of Git, a vastly improved system created by Linus Torvalds, and second by socially-oriented infrastructures like Github, now the largest host of source code in the world. Since their invention, Git and Github have radically transformed software-making as we know it. As one writer put it, “GitHub has empowered a new generation of people to collaborate, create, and produce…this isn’t just a tool: We’re witnessing the birth of a new culture.” And while some researchers have examined the use of version-control in classroom[6,7,8], few have performed such investigations using next generation tools like Git and Github, and fewer still in the context of creative programming classes. We propose to address this gap by introducing these tools to students in CS1103, an introductory 'creative coding' course required for all incoming SCM students. Our assessment will focus on qualitative analysis via surveys throughout the course, and on student performance on assignments and exams in comparison to a control group.