Skip to content
Computer Science · Grade 11

Active learning ideas

Introduction to Version Control (Git)

Active learning works because version control is a hands-on skill. Students need to experience the gap between 'editing a file' and 'creating a reliable snapshot' to truly grasp Git's purpose. These activities turn abstract commands into muscle memory through immediate, iterative practice.

Ontario Curriculum ExpectationsCS.HS.D.4
20–45 minPairs → Whole Class4 activities

Activity 01

Flipped Classroom30 min · Pairs

Pairs: Git Commit Relay

Pairs start with a shared repository containing starter code. Student A adds a simple function, stages with git add, commits with a message, and pushes. Student B pulls changes, reviews the code, adds another function, and pushes. Pairs alternate for five rounds, discussing changes each time.

Explain the benefits of using version control systems like Git in team projects.

Facilitation TipDuring Git Commit Relay, have each pair write their commands on sticky notes so you can see their thought process in real time.

What to look forProvide students with a scenario: 'You just finished a small bug fix. What are the three Git commands you would use to save your changes locally and prepare them for sharing?' Review student responses for accuracy in command order and purpose.

UnderstandApplyAnalyzeSelf-ManagementSelf-Awareness
Generate Complete Lesson

Activity 02

Flipped Classroom45 min · Small Groups

Small Groups: Branching Challenge

Small groups fork a class project repo. Each member creates a feature branch, implements one OOP method, commits locally, then pushes and opens a mock pull request. The group merges branches one by one, resolving any conflicts with git merge. Debrief on workflow successes.

Differentiate between common Git commands like commit, push, and pull.

Facilitation TipFor Branching Challenge, set a strict 10-minute timer for the merge to force quick decision-making.

What to look forAsk students to write down one benefit of using Git for team projects and one situation where creating a new branch would be necessary. Collect and review responses to gauge understanding of core concepts.

UnderstandApplyAnalyzeSelf-ManagementSelf-Awareness
Generate Complete Lesson

Activity 03

Flipped Classroom25 min · Whole Class

Whole Class: Live Repo Setup

Project a terminal on screen to demo git init, add, commit, and remote setup step-by-step. Students follow along on their machines to create personal repos and push to a class server. End with a quick poll on first impressions.

Construct a workflow for collaborating on a coding project using Git.

Facilitation TipIn Live Repo Setup, pause after each command to ask, 'What would happen if we skipped this step?' to build conceptual depth.

What to look forPose the question: 'Imagine two developers modify the same line of code simultaneously. How does Git help resolve this potential conflict, and what is the role of the developer in this process?' Facilitate a class discussion, guiding students to explain merge conflicts and resolution strategies.

UnderstandApplyAnalyzeSelf-ManagementSelf-Awareness
Generate Complete Lesson

Activity 04

Flipped Classroom20 min · Individual

Individual: Version History Hunt

Students clone a multi-commit repo with intentional errors. They use git log and git checkout to explore history, revert a bad commit, and create a branch to fix issues. Submit a log of their changes.

Explain the benefits of using version control systems like Git in team projects.

What to look forProvide students with a scenario: 'You just finished a small bug fix. What are the three Git commands you would use to save your changes locally and prepare them for sharing?' Review student responses for accuracy in command order and purpose.

UnderstandApplyAnalyzeSelf-ManagementSelf-Awareness
Generate Complete Lesson

A few notes on teaching this unit

Teach Git as a habit system, not a toolset. Research shows that spaced repetition of commands in context builds retention better than theory alone. Avoid early lectures on 'how Git works under the hood'—focus first on observable behaviors like checking status and committing intentionally. Model error recovery often, because students will mimic your calm approach to mistakes.

Successful learning looks like students confidently explaining why each command matters, not just reciting them. You will see students checking git status before committing, discussing branch strategies in groups, and troubleshooting errors without frustration. Mastery shows when workflows feel intuitive, not like a checklist.


Watch Out for These Misconceptions

  • During Git Commit Relay, watch for students who skip git status and commit immediately after editing.

    Pause the relay after the first edit and ask pairs to run git status together. Have them explain what 'staged' means using the output before proceeding.

  • During Branching Challenge, watch for students who push branches without pulling first.

    After the first merge, ask groups to demonstrate their pull-before-push workflow. If they forget, have them redo the merge while narrating each step aloud.

  • During Version History Hunt, watch for students who assume commits auto-save like a word processor.

    Have them intentionally lose work, then use git reflog to recover it. Debrief by asking, 'What habit would have prevented this?'


Methods used in this brief