You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Most data scientists have taught themselves most of what they knowabout programming. As a result, many have gaps in their knowledge:they may be experts in some areas, but don't even know what they don'tknow about others.
One of those other areas is software design. A large program is notjust a dozen short programs stacked on top of each other: doubling thesize of a program more than doubles its complexity. Since our brainscan only hold a small number of things at once, making large programscomprehensible, testable, shareable, and maintainable requires morethan using functions and sensible variable names: it requires design.
The best way to learn design in any field is to study examples. Theselessons therefore build small versions of tools that programmers useevery day to show how experienced software designers think. Along theway, they introduce some fundamental ideas in computer science thatmost data scientists haven't encountered. Finally, we hope that ifyou know how programming tools work, you'll be more likely to use themand better able to use them well.
About
Software Design by Example: a tool-based introduction with Python