Collaboration in programming projects

About the project

Professional software development would be unthinkable without a version control system: It is only through this that completely unique possibilities for collaboration are opened up, data security is established and project coordination is supported. The same applies to the use of version control systems (VCS) in schools: No USB stick madness, no problems after the vacations, such as "What was my current version again?", no "My classmate is sick, I can't get to our code". At the same time, the associated version control capability is becoming increasingly important in today's world. However, professional tools such as git have an enormously high complexity, which causes problems even for professional software developers, and thus make it difficult for young people to access. In this project, a didactically reduced version control system for the block-based language Snap!, based on an analysis of existing approaches of didactically reduced as well as professionally used tools, is designed, implemented, and evaluated, which combines the advantages of VCS with an intuitive and beginner-friendly usage. In this way, even novice programmers can benefit from the possibilities of a VCS for collaboration and experimentation (tinkering), while intuitively learning the genuinely informatic forms of collaboration that these tools enable. In the context of this research focus, we investigate how learners collaborate in programming projects and what influence collaborative work has on the drafting and design of programs.

Publications

Seegerer, S., Michaeli, T. & Waite, J. (2021): Collaboration in Programming Projects (Reprint). In: The Big Book of Computing Pedagogy, Raspberry Pi Foundation, Cambridge.

Seegerer, S., Michaeli, T., & Romeike, R. (2020). Investigating How Novices Use and Collaborate with a Version Control System for Block-Based Languages. In LaTiCE2020: The Seventh International Conference on Learning and Teaching in Computing and Engineering, Ho Chi Minh City, VN.

Seegerer, S., Michaeli, T., & Waite, J. (2020). Collaboration in Programming Projects. In Hello World, 13.

Michaeli, T., Seegerer, S., & Romeike, R. (2018). Enabling Collaboration and Tinkering: A Version Control System for Block-based Languages. In Valentina Dagienė Eglė Jasutė (Eds.), Constructionism 2018: Constructionism, Computational Thinking and Educational Innovation: conference proceedings (pp. 395-403). Vilnius, LT.

 

Teaching material