Week 2

Version Control, Collaboration & Reproducible Workflows

Introduction

This week we move from writing code individually to managing and collaborating on code. We introduce Git, GitHub, branching, and basic principles for making data and code more reproducible.

Learning goals

  1. Understand the fundamentals of Git and GitHub

  2. Create and manage a GitHub repository

  3. Understand commits, issues, branches, and merge conflicts

  4. Apply naming conventions and FAIR data principles

Lecture - Version Control Systems & Integration

Introduction to Git and GitHub, repository structure, commits, and collaborative workflows.

Lab - Broken Online, Merge Conflicts & Branching

Hands-on practice with the Octocat for GitHub workflows, resolving merge conflicts, creating branches, and merging changes.

Discussion - Naming Conventions & FAIR Principles

Why do consistent naming and data management practices matter?

Introduction to file and variable naming conventions and the FAIR principles: Findable, Accessible, Interoperable, and Reusable.

Assignment

Part 1: GitHub Education 1. Create a GitHub profile. 2. Create a public repository. 3. Share the repository through Canvas.

Part 2: GitHub and Branching 1. Connect to the assigned repository. 2. Create a branch. 3. Create a merge conflict. 4. Try to merge the branch. 5. Resolve the merge conflict and complete the merge.

Looking ahead

Next week we will move from managing code to working with cloud computing, APIs, and agricultural data infrastructure.

Back to course schedule ⏎