This semester in MAT 1630 I tried a small change that made a big difference: I created a private GitHub repository for each student and added them as the sole collaborator, then had them work in Google Colab and submit via a pull request. Everything happens in the browser, every step is a click, and yet students are quietly learning real professional habits—commits, branches, pull requests, merges—without touching a command line.
The day-to-day is simple. Students open my Colab notebook, work through the exercises, and when they’re ready, choose File → Save a copy to GitHub. On GitHub they press the big green button to open a pull request, and then merge. On my side, each pull request becomes a clean, time-stamped submission with a place to leave feedback. Because I own the repositories, nothing gets lost, I can always see the work, and the record is there if we need to revisit grading or progress later on.
Why Google Colab clicks with students
- No setup, no stress: opens in a browser—no installs, no configuration, works on Chromebooks and shared lab machines.
- Autosave peace of mind: work is saved to Google Drive, so nothing vanishes with a laptop hiccup.
- Clear, beautiful results: run cells, see output immediately, add explanations in Markdown or LaTeX.
- Easy help: sharing a notebook link makes quick coaching in class painless.
Why private repos owned by the instructor help everyone
- Reliable access: I keep ownership, so submissions don’t disappear if a student changes settings or accounts.
- One tidy place: consistent naming and structure make reviewing and grading faster.
- Natural feedback loop: pull requests are built-in checkpoints for comments and review.
- Privacy by default: student work stays private, and GitHub masks personal emails with a no-reply address.
The submission flow students actually follow
- Open the assignment in Google Colab.
- Work through the notebook and verify outputs.
- Choose File → Save a copy to GitHub and select their private repo.
- On GitHub, click Compare & pull request, then Create pull request, then Merge.
What I appreciate most is how this nudges students to see programming as collaboration. They start to understand version control as a normal part of the process: small commits, clear messages, respectful reviews. It also happens to be free—private GitHub repos and Colab are both zero-cost—and it keeps everyone’s personal email private. For instructors, the setup is sustainable because once the repositories are created, everything else runs smoothly: students submit with a few clicks, feedback happens directly on GitHub, and there’s no need to chase files or manage endless attachments. The workflow stays organized, low-maintenance, and easy to reuse each semester, which lets us focus our energy on teaching, not on handling logistics in classes with a coding component.