3  Overview for Teachers

This section provides a step-by-step quick start by using the automation scripts.
Follow the five steps below to move from setup to monitoring.


3.1 Quick Start with Automation Scripts

3.1.1 1. Initial Setup (One-Time)

The first step is to download and organize all the automation scripts, including:

project_folder/
├── setup_config.R
├── main_automation_script.R
├── github_functions.R
├── file_management.R
├── monitor_progress.R
└── README.md

After all files are downloaded, run the setup script:

# In RStudio/R console
source("setup_config.R")
run_setup()

This automated setup will:

  • Install required R packages
  • Guide you through GitHub token creation
  • Create necessary folder structure
  • Generate sample configuration files
  • Validate your setup

3.1.2 2. Prepare Your Data

Create your student list (student_list.csv) in the following format:

student_id,github_username,ucl_email,name
12345,alice_github,alice.smith@ucl.ac.uk,Alice Smith
12346,bob_jones,bob.jones@ucl.ac.uk,Bob Jones
12347,carol_white,carol.white@ucl.ac.uk,Carol White

To organize student submissions, download their submissions from Moodle and organize them in folders:

submissions/
├── 12345/
│   ├── analysis.R
│   └── data_cleaning.R
├── 12346/
│   ├── analysis.R
│   └── visualization.R

3.1.3 3. Run the Automation

Configure the main script:

Edit these variables in main_automation_script.R:

ORG_NAME <- "UCL-StatSci-STAT0001-2025"      # Your GitHub organization
ASSIGNMENT_NAME <- "assignment-1"            # Current assignment
LOCAL_SUBMISSIONS_PATH <- "submissions/"     # Path to submissions

Then, execute the following automation:

source("main_automation_script.R")

What will happen automatically:

  • ✅ private repositories are created for each student
  • ✅ reviewer branches and issue templates are set up
  • ✅ all student files are uploaded
  • ✅ peer reviewers (2 per student) are randomly assigned
  • ✅ repository permissions are set
  • ✅ email templates and distribution URLs are generated

3.1.4 4. Distribute Access Information

By this point, the script would have generated several files. They are:

  • student_repo_links.csv - Repository URLs for each student
  • email_templates/ - Personalized emails for each student
  • reviewer_assignments.csv - Complete assignment matrix

You then need to send emails to students by either using the generated email templates, or import the CSV data into your email system for mail merge.

3.1.5 5. Monitor Progress

To track completion in real-time, run:

source("monitor_progress.R")
report <- run_progress_check()

What you will get:

  • Completion rates across all students
  • Visual progress charts
  • Detailed analytics
  • Automated reminder emails for incomplete reviews

Next section is a detailed explanation of the workflow. If you have any trouble executing the above procedure, please refer to it and the README.md document under the setup folder.