Skip to content

This repository provides code examples and exercises from the book "Software Design by Example" to help programmers learn by building common software tools.

License

Notifications You must be signed in to change notification settings

pranavpurankar/Software_Design_By_Example

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Learn by Building: Software Design with Python

PythonDesign Patern Cover Image

Master design principles through practical Python projects!

This repository complements the book "Software Design by Example: A Tool-Based Introduction with Python" by Greg Wilson. Here, you'll gain hands-on experience by building miniature versions of essential programmer tools.

Dive into Design:

‣ Craft Real-World Tools: Explore building file backup systems, testing frameworks, regular expression matchers, and more. ‣ Demystify Design Patterns: Uncover common design patterns used by experienced programmers. ‣ Write Testable and Reusable Code: Discover how clean code practices lead to both maintainability and reusability.

Enhance Your Skills:

‣ Practical Exercises: Solidify your understanding with exercises ranging from short snippets to full-day projects. ‣ Open Source Code: Access and modify the example code under a permissive license. ‣ Level Up Your Python: Learn and apply advanced Python features as you build each project.

Suitable for:

‣ Independent Learners: Take charge of your learning journey with self-paced exploration. ‣ Working Programmers: Sharpen your design skills through practical exercises.

Join the Community:

‣ Contribute to the codebase. ‣ Share your learnings and ask questions.

"Embrace a design-centric approach to software development with Python!"

About

This repository provides code examples and exercises from the book "Software Design by Example" to help programmers learn by building common software tools.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages