Introduction to Collaborative Coding

Description

This 2-day DISCnet event, given by Coleman Krawczyk (Portsmouth) will provide and introduction to good coding practices, writing code in a group, and test driven development.

Aims

The amis of this course are to have the students attending the workshop to learn how to write maintainable code in a collaborative setting. The course will aim to introduce students to the the main ideas behind writing easy to read code, what makes code maintainable, and how to write good tests.

Learning Objectives

The attendees should understand how to effectively use GitHub in a collaboration, write a python package, and set up CI to automatically check coding style and run tests.

Prerequisites

  • A working knowledge of writing python code

    • Python 3.10 installed on their system

    • The ability to install new packages into your python environment

  • Practical use of UNIX command line

    • Most commands used in this workshop should work on Windows (Anaconda python with powershell terminal should work), the course runner does not have much experience debugging configuration issues on Windows

  • A GitHub account

  • A basic knowledge of Git

    • Git installed on their system

  • A working internet connecting (e.g. working WiFi)

Important Information

This course is aimed at students in Year 2 or higher of their PhD. The course may also be suitable for students in earlier years, depending on their programming experience.

Attendees will need a laptop computer with 1 GB of free disk space. The code being used for the workshop along side the notes are all hosted on GitHub at https://github.com/CKrawczyk/DISCnet_workshop