Software Design by Example (Python edition) Now in Beta

Posted

The first beta version of [Software Design by Example: a Tool-Based Introduction with Python][sdxpy] is now available at https://third-bit.com/sdxpy/. It presents and explains small working models of two dozen different tools that developers use on a daily basis in order to show how experienced software designers think. All of the material is free to use under the CC-BY-NC and Hippocratic licenses, and I would be very grateful for feedback and fixes. It’s a long way from being done (not that any tutorial is every really “done”) but I hope it’s useful. My thanks to everyone listed in https://third-bit.com/sdxpy/intro/ for the tools they’ve built and shared and the feedback they’ve already given.

Start where you are.
Use what you have.
Help who you can.

Note: red shows metrics that are under target (e.g., chapters that are too short), while blue shows ones that are over (e.g., slideshows with too many slides to fit into an hour).

Title Slides Words Sections Exercises Figures Syllabus Index Glossary
intro 11 1324 7 2 2 4 3 0
oop 18 1200 5 4 4 6 11 9
dup 20 1820 5 5 5 5 2 10
glob 23 1813 4 8 4 6 1 14
parse 16 1352 4 5 3 7 5 12
test 17 1958 5 7 4 4 9 14
interp 17 2036 5 8 3 6 10 15
func 20 1433 5 4 3 7 6 13
reflect 20 1971 6 4 3 7 10 7
archive 20 2182 6 7 3 5 14 14
check 21 1545 5 6 3 5 12 13
template 24 2260 7 10 3 4 20 6
lint 21 2234 6 7 3 4 16 3
layout 18 2295 6 10 7 5 15 9
perf 23 3265 6 11 8 4 17 14
persist 16 3252 6 10 4 5 14 7
binary 26 3900 6 6 4 5 6 20
db 26 2254 8 4 4 5 11 7
build 19 1836 5 8 4 5 12 17
pack 24 2926 7 8 4 7 11 11
ftp 20 1821 5 4 3 4 6 10
http 19 2273 5 9 3 5 14 12
viewer 33 2982 7 4 2 7 9 8
undo 21 1392 5 5 1 4 7 3
vm 20 2249 6 10 6 4 7 13
debugger 22 2820 6 10 4 4 9 7
finale 4 582 0 0 1 0 4 0
--- --- --- --- --- --- --- --- ---
Target 15-26 1300-2300 2-8 4-14 3-8 4-8
Average 2110 20.0 5.5 6.5 3.6 5.0 9.7 9.9
Total 539 56975 148 176 98 134 261 268