🖥️ Week 01, Day 03 - Lecture

Version Control with Git and Markdown documentation

Author

Dr Jon Cardoso-Silva

Last updated

15 July 2025

🥅 Learning Objectives
By the end of this session, you should be able to: i) Navigate and understand a complete Python data analysis script, ii) Create a GitHub account and a private repository, iii) Use the basic add, commit, and push workflow to version control your own code.
ME204 course icon

Welcome back. Today’s session is fully hands-on, we won’t use slides.

We’ll start by ensuring everyone is confident with yesterday’s analysis, and then we will use that same analysis to learn the professional standard for version control: Git and GitHub.

Wednesday, 16 July 2025 | 10:00am - 1:00pm 📍 Location: CKK.2.06 (see LSE’s 🗺️ campus map)


Part 1: W01D02 Lab Solutions Walkthrough

10:00 – 11:00

Checking In

We’ll start with a quick poll to see how yesterday’s lab went.

Mentimeter Poll

Question: “Which part of yesterday’s rain analysis felt most challenging?”

Guided Tour of the Solutions

The goal of this first hour is to walk through the complete solution, answer your questions, and make sure everyone has a working script they understand.

You can find the full solutions in either of these places:

  1. As a web page: W01D02 Lab Solutions
  2. As a notebook in your Nuvolos workspace: lab-notebooks/W01D02_Lab_Solutions.ipynb

☕️ Coffee Break

11:00 – 11:15

Part 2: Your Professional Hub with GitHub

11:15 – 12:00

In this part, we’ll set up your professional home for all the work you do in this course and beyond. We will create a GitHub account and your first repository.

1️⃣ Creating a GitHub Account

Visit GitHub and create an account if you don’t have one yet.

  • Email: Use an address you check regularly.
  • Username: Choose a professional username. This will be part of your public portfolio.

2️⃣ Creating a private repository

A GitHub repository (or ‘repo’) is like a project folder that lives on the internet. We’ll create one to store your study notes and code for this course.

  • Go to GitHub.com and click the New repository button.
  • Follow these settings:
    • Repository name: me204-study-notes
    • Description: My personal study notes for LSE ME204
    • Visibility: Private
    • Initialize this repository with:

Click Create repository. Congratulations! You now have a private, cloud-hosted home for your work.

I will then show you things like:

  • How to create a Markdown file
  • The purpose of a README file
  • The purpose of a .gitignore file

Quick Stretch Break

12:00 – 12:10

Part 3: The Git Workflow Ceremony

12:10 – 13:00

Now we will use the “Git ceremony” to get your rain analysis code from yesterday into your new GitHub repository.

1️⃣ Clone the Repository

First, you need to “clone” your new GitHub repository to create a local copy in your Nuvolos workspace.

  1. On your new repo’s GitHub page, click the green <> Code button.

  2. Select the SSH tab and copy the URL.

  3. In your Nuvolos terminal, run:

    git clone <paste-the-ssh-url-here>

    This creates a new folder named me204-study-notes.

2️⃣ Add Your Code

  1. Move the W01D02_Lab_Solutions.ipynb file into your new me204-study-notes folder.

  2. Navigate into the repository folder in your terminal:

    cd me204-study-notes

If navigating the file systems from the Terminal is not something you’re familiar with, you can just drag and drop the file into the me204-study-notes folder in your Nuvolos workspace.

To learn more about terminal commands, you can refer to our Terminal guide.

3️⃣ The add-commit-push Cycle

Refer to our GitHub guide for a more detailed explanation of the add-commit-push cycle.

This is the core ceremony for saving your work with Git.

  1. Stage your changes (tell Git what files to save)
git add .

Notice that the . means “all files in the current directory”.

  1. Commit the changes (save a snapshot with a meaningful message)
git commit -m "Add W01D02 rain analysis solution"
  1. Push the commit (send your saved changes up to GitHub)
git push

Verify on GitHub that your notebook file has appeared in your repository. You have now version-controlled your first piece of analysis!

Try to do this on your own now:

  1. Rename the two lab files to something more descriptive.

    For example, the first lab file could be NB01 - Python Recap.ipynb whereas the second lab file could be NB02 - Data Collection.ipynb.

  2. Create a new Markdown file called README.md and write a short description of what this project is about. It could be as simple as:

    # ME204 Study Notes
    
    This repository contains my study notes for the LSE ME204 course.
  3. If you are on a Mac, try to add this to your .gitignore file:

    .DS_Store

    This will prevent you from accidentally committing your desktop icons to your repository.

📥 What’s Next?

This afternoon’s lab is your chance to practice these skills, learn how to resolve a common issue (merge conflicts), and set up the official repository for your midterm project.