Give

Commits and history

Make small commits with clear messages, and go back in time when needed.

Planned. This module is part of the plan and is not written yet.

COCO-SWD-GIT-0202Level12–13

Why it matters

When code that worked yesterday breaks today, git log and git restore are how a developer finds and brings back the last good version.

Draft outline · in review
For
Level 12–13 · SSS 3 (WASSCE) to A level / JUPEB / foundation year
Inside
4 lessons and a test · about 60 minutes
Topic
Git and version control · core, 2 of 4
Plate CO-SWD-GIT-02: planned.

Inside the module.

4 lessons in order, about 60 minutes in all, then a short test. Learners go at their own pace; the minutes are a guide, not a timetable.

Draft outline · in review

  1. Lesson 1: init, add and commit

    Start a repository, stage changes with git add and save them with git commit.

    Worked example15 min, from minute 0

  2. Lesson 2: Small commits, clear messages

    Commit one change at a time with a message that says why.

    Practice15 min, from minute 15

  3. Lesson 3: Reading the history

    Use git log, git show and git diff to see what changed and when.

    Explain15 min, from minute 30

  4. Lesson 4: Going back in time

    Use git restore and git revert to undo mistakes safely.

    Practice15 min, from minute 45

  5. End-of-module test

    Make small commits with clear messages, read the history and restore an earlier version of a file.

    Mastered at 85% or more. Retake it until you pass; nothing is lost, and each try gives feedback.

    Already know it? A Challenge Test (planned) clears the whole module: 90% overall, no objective below 75%.

    Last stageafter about 60 min

Practicalities

Draft outline · in review
  • Built to run offline

    Planned to run on the Lantern's own computer, with no internet needed.

  • Languages

    Planned first in English; every module aims to reach all of the Lantern's languages.

Try a question.

One question from the module, as a learner would meet it. Have a go, then open the worked solution a step at a time.

Draft outline · in review

You edited app.py and broke it. You have not staged or committed the change. Which command throws away your edits and brings back the last committed version of app.py?

Your answer

Particulars

What a learner can do after it

  1. Make commits with clear messages.
  2. Read the history and restore an earlier version.

Level

Level 12–13 · SSS 3 (WASSCE) to A level / JUPEB / foundation year

Show levels in

Level mappings are approximate. A qualified teacher or lecturer in each country must check them before they appear in the app. Levels 13–18 describe the content, not the learner: “Level 15” means material usually taught in a second-year university course, whoever chooses to learn it.

Difficulty for its level

2 of 4 · Core

Time

About 60 minutes

Alignments

  • Aligned to CS2023partial · in reviewCS2023 Software Engineering: version control (descriptive ref)

Alignment in review until a qualified teacher or lecturer checks it. No exam body, university or vendor endorses us; learners still sit the real exam. University-level modules give knowledge, not university credit.

Challenge Test

Planned: a Challenge Test to prove you know it and skip it. Pass at 90% overall, with no objective below 75%.

University courses it previews

Software Engineering, Computer Science

The route here.

Everything this module builds on, drawn as a route from its foundations. Solid lanes must be mastered first, or cleared by a Challenge Test; dashed lanes are suggestions that never lock anything.

From Level 1, Instructions in order to Level 5, Loops inside loops
  1. CO-BLK-SEQ-01 Instructions in order, Level 1–4, Coding. Planned.
  2. CO-BLK-SEQ-01Instructions in orderCoding · Primary 1 to Primary 4 (Level 1–4) · Planned
  3. CO-BLK-LOP-01 Repeat blocks, Level 3–5, Coding. Sample lesson in the demo.
  4. CO-BLK-LOP-01Repeat blocksCoding · Primary 3 to Primary 5 (Level 3–5) · Sample lesson in the demo Needs Instructions in order (required).Try the sample lesson: Repeat blocks
  5. DS-CMP-TYP-01 The home row, Level 3–6, Digital skills. Planned.
  6. DS-CMP-TYP-01The home rowDigital skills · Primary 3 to Primary 6 (Level 3–6) · Planned · recommended
  7. CO-BLK-CND-01 If this, then that, Level 3–6, Coding. Planned.
  8. CO-BLK-CND-01If this, then thatCoding · Primary 3 to Primary 6 (Level 3–6) · Planned · recommended
  9. CO-BLK-LOP-02 Patterns with loops, Level 4–6, Coding. Planned.
  10. CO-BLK-LOP-02Patterns with loopsCoding · Primary 4 to Primary 6 (Level 4–6) · Planned Needs Repeat blocks (required).
  11. DS-FIL-ORG-01 Folders that make sense, Level 4–7, Digital skills. Planned.
  12. DS-FIL-ORG-01Folders that make senseDigital skills · Primary 4 to JSS 1 (Level 4–7) · Planned · recommended
  13. MA-ARI-ORD-01 Order of operations, Level 5–6, Maths. Planned.
  14. MA-ARI-ORD-01Order of operationsMaths · Primary 5 to Primary 6 (Level 5–6) · Planned · recommended
  15. CO-BLK-LOP-03 Loops inside loops, Level 5–7, Coding. Planned.
  16. CO-BLK-LOP-03Loops inside loopsCoding · Primary 5 to JSS 1 (Level 5–7) · Planned · recommended
  17. CO-PRG-PYB-01Your first Python programCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Planned Needs Patterns with loops (required), The home row (recommended).
  18. CO-PRG-PYB-02VariablesCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Sample lesson in the demo Needs Your first Python program (required).Try the sample lesson: Variables
  19. CO-PRG-PYB-03Numbers and calculationsCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Planned Needs Variables (required), Order of operations (recommended).
  20. MA-ALG-FRM-01Substituting into formulaeMaths · JSS 1 to JSS 2 (Level 7–8) · Planned · recommended
  21. CO-PRG-PYB-05Decisions with ifCoding · JSS 2 to SSS 1 (Level 8–10) · Planned Needs Numbers and calculations (required), If this, then that (recommended).
  22. CO-PRG-PYB-06Loops in PythonCoding · JSS 2 to SSS 1 (Level 8–10) · Planned Needs Decisions with if (required), Loops inside loops (recommended).
  23. CO-PRG-PYF-01Defining functionsCoding · JSS 2 to SSS 2 (Level 8–11) · Planned Needs Loops in Python (required).
  24. CO-PRG-PYF-02Parameters and return valuesCoding · JSS 3 (BECE) to SSS 2 (Level 9–11) · Planned Needs Defining functions (required), Substituting into formulae (recommended).
  25. CO-SWD-GIT-01Why version control?Coding · SSS 3 (WASSCE) to A level / JUPEB / foundation year (Level 12–13) · Planned Needs Parameters and return values (required), Folders that make sense (recommended).
  26. CO-SWD-GIT-02Commits and historyCoding · SSS 3 (WASSCE) to A level / JUPEB / foundation year (Level 12–13) · Planned · the destination Needs Why version control? (required).
18 stops across Coding, Digital skills and Maths. 2 have a sample lesson in the demo; the other 16 are planned and not yet written.

Help light the room where this is learned.

Every route on this map starts in a classroom with 24 stations, a tutor that works offline and a facilitator upstairs. Four are planned and waiting for light.