Part IX. Books and further reading
A reading list for after this book, grouped by purpose. Free items can be read online at no cost; print items are commercial books (check your library). Levels: ★ beginner · ★★ intermediate · ★★★ advanced. Links were checked on 11 October 2026; publisher pages that block automatic checks are cited without a link.
1. Git itself
| Book |
Level |
Free? |
Why read it |
Extends |
| Scott Chacon and Ben Straub, Pro Git, 2nd ed. (Apress, 2014) |
★–★★★ |
free (CC BY-NC-SA) |
the standard reference; chapters 1–3 for everyone, 7 and 10 for the curious |
every grade |
| John Wiegley, Git from the Bottom Up |
★★ |
free (CC BY) |
short; builds Git up from blobs and trees |
G12 M1 |
| Think Like (a) Git |
★★ |
free |
"Git is a graph; branches are labels" — the best cure for branch confusion |
G9 M3, G11 M5 |
| Raju Gandhi, Head First Git (O'Reilly, 2022) |
★ |
print |
visual, puzzle-filled introduction; good for teachers new to Git |
Grades 8–10 |
| Prem Kumar Ponuthorai and Jon Loeliger, Version Control with Git, 3rd ed. (O'Reilly, 2022) |
★★–★★★ |
print |
thorough, careful explanations of every major feature |
Grades 11–12 |
| Rick Umali, Learn Git in a Month of Lunches (Manning, 2015) |
★ |
print |
one short lesson a day; good self-study after Grade 9 |
Grades 9–10 |
| James Coglan, Building Git (2019) |
★★★ |
print/e-book |
you write your own Git in Ruby — the deepest understanding of internals |
G12 M1 and beyond |
Also good, in zine form: Julia Evans's illustrated zines about Git (see Wizard Zines) — short, friendly explanations of confusing parts.
2. Working in teams and in open source
| Book |
Level |
Free? |
Why read it |
Extends |
| Karl Fogel, Producing Open Source Software, 2nd ed. |
★★ |
free (CC BY-SA) |
how open-source projects are run: governance, communication, releases |
Grade 11 |
| VM (Vicky) Brasseur, Forge Your Future with Open Source (Pragmatic Bookshelf, 2018) |
★ |
print |
a practical guide to making your first contributions |
G11 M2–M4 |
| Nadia Eghbal, Working in Public: The Making and Maintenance of Open Source Software (Stripe Press, 2020) |
★★ |
print |
who maintains the software the world runs on, and why it is hard |
Grade 11, G12 M9 |
| Eric S. Raymond, The Cathedral and the Bazaar (1999) |
★★ |
free essay |
the classic essay on open development; read critically — it is a historical view |
G11 M7 |
| Open Source Guides (GitHub and contributors) |
★ |
free (CC BY) |
short guides on contributing, starting and maintaining projects |
Grade 11 |
3. Software engineering practice
| Book |
Level |
Free? |
Why read it |
Extends |
| Titus Winters, Tom Manshreck and Hyrum Wright, Software Engineering at Google (O'Reilly, 2020) |
★★–★★★ |
free online |
chapters on code review and version control and branch management at enormous scale |
G10 M4, G12 M2 |
| David Thomas and Andrew Hunt, The Pragmatic Programmer, 20th anniversary ed. (Addison-Wesley, 2019) |
★★ |
print |
habits of good programmers, including "always use version control" |
after school |
| Jez Humble and David Farley, Continuous Delivery (Addison-Wesley, 2010) |
★★★ |
print |
the foundations of CI/CD and releasing safely |
G12 M3–M4 |
| Nicole Forsgren, Jez Humble and Gene Kim, Accelerate (IT Revolution, 2018) |
★★ |
print |
research evidence on which practices (trunk-based development, CI) help teams |
G12 M2–M3 |
| Trunk Based Development (website) |
★★ |
free |
everything about the trunk-based strategy |
G12 M2 |
| Vincent Driessen, A successful Git branching model (2010, with a 2020 note) |
★★ |
free |
the original Gitflow post — read the author's own note at the top |
G12 M2 |
| The Agile Manifesto (2001) |
★ |
free |
one page; the source of "agile" |
G11 M7 |
4. Research, data and writing
| Reading |
Level |
Free? |
Why read it |
Extends |
| The Turing Way Community, The Turing Way |
★–★★ |
free (CC BY) |
reproducible research, version control, data management |
G11 M8, Part VIII |
| Jenny Bryan, Happy Git and GitHub for the useR |
★ |
free (CC BY-NC) |
Git for data analysis; most chapters apply beyond R |
G11 M8 |
| Blischak, Davenport and Wilson (2016), A Quick Introduction to Version Control with Git and GitHub, PLOS Computational Biology |
★ |
free (CC BY) |
ten pages; ideal first reading for science teachers |
Part I |
| Perez-Riverol et al. (2016), Ten Simple Rules for Taking Advantage of Git and GitHub, PLOS Computational Biology |
★ |
free (CC BY) |
practical rules for any project |
G12 M8, Part VIII |
| Wilson et al. (2017), Good enough practices in scientific computing, PLOS Computational Biology |
★ |
free (CC BY) |
minimal practices every researcher should adopt, including version control |
Part VIII |
| Wilson et al. (2014), Best Practices for Scientific Computing, PLOS Biology |
★★ |
free (CC BY) |
the fuller version of the above |
after school |
| Jennifer Bryan (2018), Excuse Me, Do You Have a Moment to Talk About Version Control?, The American Statistician 72(1). doi:10.1080/00031305.2017.1399928 |
★ |
preprint free |
the case for Git in statistics and data science |
G11 M8 |
5. For teachers: how people learn to program
| Reading |
Free? |
Why read it |
| Greg Wilson, Teaching Tech Together (CRC Press, 2019) |
free (CC BY-NC) |
lesson design, cognitive load, live coding, building a teaching community |
| Felienne Hermans, The Programmer's Brain (Manning, 2021) |
print |
how memory and reading work when learning code — useful for reading diffs and histories |
| Sentance, Waite and Kallia (2019), Teaching computer programming with PRIMM: a sociocultural perspective, Computer Science Education 29(2–3). doi:10.1080/08993408.2019.1608781 |
publisher |
the research behind this book's lesson skeleton |
| Wagner and Thurner (2025), Rethinking How We Teach Git, Journal of Information Systems Education 36(1) |
free |
recommendations on sequencing Git teaching |
| Raspberry Pi Foundation, research and pedagogy resources |
free |
short, evidence-based summaries for computing teachers |
| CS Unplugged |
free |
ideas for teaching computing without computers |
6. Suggested reading paths
| You are… |
Read in this order |
| a Grade 12 finisher going to university |
Pro Git ch. 7 → Think Like (a) Git → Software Engineering at Google ch. 9 and 16 → The Pragmatic Programmer |
| a future researcher or data scientist |
A Quick Introduction… → Good enough practices… → The Turing Way → Happy Git… |
| an open-source enthusiast |
Open Source Guides → Forge Your Future… → Producing Open Source Software → Working in Public |
| a teacher new to Git |
Head First Git or Pro Git ch. 1–3 → A Quick Introduction… → Teaching Tech Together → Part I of this book |
| curious about internals |
Git from the Bottom Up → Pro Git ch. 10 → Building Git |
| interested in DevOps |
Accelerate → Continuous Delivery → trunkbaseddevelopment.com |
Licences: free does not always mean "free to copy". Read and share links freely; copy text only from CC BY or similarly permissive sources, with credit (Grade 11 Module 1).