The Third Bit
Start where you are, use what you have, help who you can.
In Brief
Co-founder of Software Carpentry,
The Architecture of Open Source Applications,
and It Will Never Work in Theory
ACM SIGSOFT Influential Educator of the Year
Co-winner, Jolt Award, Best General Book
Member, Python Software Foundation
Ph.D. in Computer Science
Author or editor of over a dozen books on programming and two for children
Recent Posts
2022-05-14: The Wes Mongtomery of Software
2022-05-08: A Language for Teaching
2022-04-30: Four Books I'm Not Writing (Plus One)
2022-04-21: Software Design by Example
2022-04-03: Tehanu
2022-02-25: 12 Quick Tips for Software Design
2022-02-01: What I Would Change in Lox for Teaching
2022-01-16: A Cacaphony of Explanations
2022-01-06: In the Karaband
2021-12-31: Comes Round Again
2021-12-29: Tuppence a Bag
2021-12-26: Effort Estimation
2021-11-23: Not What I Set Out to Do
2021-11-15: Setting Up a New Project
...or follow me on Twitter
Recent Papers
Wilson (2022): Twelve quick tips for software design
Smalls & Wilson (2021): Ten quick tips for staying safe online
Lin et al (2020): Ten quick tips for making things findable
Nederbragt et al (2020): Ten quick tips for teaching with participatory live coding
Denny et al (2019): Research this! Questions that computing educators most want computing education researchers to answer
Sholler et al (2019): Ten simple rules for helping newcomers become contributors to open projects
Wilson (2019): Ten quick tips for creating an effective lesson
Brown & Wilson (2019): Ten quick tips for teaching programming
Current and Recent Projects
Research Software Engineering in Python
A textbook for a semester-long course on building research software and running research software projects.
Teaching Tech Together
A book about teaching programming for people with technical backgrounds but no formal training as educators.
It Will Never Work in Theory
Brief reviews of empirical research results in software engineering and computing education of particular relevance to practitioners.
Software Design by Example in JavaScript
Teaches software design by re-implementing common software engineering tools in Node.js; formerly hosted at https://stjs.tech/.
Building Software Together
A student's guide to team software projects that covers everything from using Git to running meetings; currently in beta.
JavaScript for Data Science
An introduction to JavaScript for both client-side and server-side programming for data scientists who have never used it before.
The Carpentries
A non-profit organization dedicated to teaching basic software and data skills to researchers world-wide. I co-founded its predecessor, Software Carpentry, and was its first Executive Director.
The Architecture of Open Source Applications
Essays describing the architectures of fifty open source projects of various sizes, many written by those projects' creators.
In the wake of posts about Shopify's support for white nationalists and DataCamp's attempts to cover up sexual harassment
I have had to disable comments on this blog. Please email me if you'd like to get in touch.