Software Design in Python: Status Update
The Python version of Software Design by Example is getting closer. Here’s where the content is falling short of my targets right now:
Content | Chapters Under Target |
---|---|
Slides | 2/27 |
Exercises | 9/27 |
Figures | 13/27 |
Words | 7/27 |
In more detail:
Title | Slides | Exercises | Figures | Words |
---|---|---|---|---|
Introduction | 10 | 0 | 2 | 1167 |
Objects and Classes | 17 | 2 | 4 | 1019 |
Finding Duplicate Files | 19 | 5 | 5 | 1752 |
Matching Patterns | 22 | 8 | 4 | 1763 |
Parsing Text | 15 | 3 | 3 | 1194 |
Running Tests | 16 | 7 | 4 | 1933 |
An Interpreter | 16 | 8 | 2 | 1933 |
Functions and Closures | 19 | 4 | 3 | 1422 |
Mocks, Protocols, and Decorators | 5 | 2 | 3 | 1842 |
A File Archiver | 19 | 7 | 3 | 2132 |
An HTML Validator | 20 | 0 | 3 | 1296 |
A Template Expander | 23 | 10 | 2 | 2240 |
A Code Linter | 20 | 7 | 2 | 2183 |
Page Layout | 17 | 10 | 7 | 2277 |
Performance Profiling | 26 | 11 | 8 | 3239 |
Object Persistence | 15 | 10 | 4 | 3237 |
Binary Data | 25 | 6 | 4 | 3896 |
A Database | 27 | 3 | 4 | 2202 |
A Build Manager | 18 | 8 | 4 | 1822 |
A Package Manager | 23 | 8 | 4 | 3001 |
Transferring Files | 19 | 4 | 3 | 1814 |
Serving Web Pages | 18 | 9 | 3 | 2256 |
A File Viewer | 32 | 3 | 2 | 2955 |
Undo and Redo | 20 | 0 | 2 | 1241 |
A Virtual Machine | 19 | 10 | 6 | 2242 |
A Debugger | 21 | 10 | 4 | 2808 |
Conclusion | 3 | 0 | 1 | 485 |
Total | 504 | 155 | 96 | 55351 |
Average | 18.7 | 5.7 | 3.6 | 2050 |
The syllabus has also evolved a bit—I still need to figure out how to tie those three isolated chapters into the main narrative.
Finally, the glossary now has 336 entries; only 289 terms are indexed, but that’s always the very last step (at least for me). There are 34 open issues in the book’s GitHub repository that will take anything from a few minutes to half a day to close, and 7 suggestions for chapters in a second volume that I’ve promised myself I’m not going to write.