Books by splitShops
Software Design by Example: A Tool-Based Introduction with Python - Paperback
$110.14
In stock
Shipping charges, applicable taxes, the final order total, and available payment methods are shown during checkout before payment. Delivery timing varies by item and fulfillment origin. Standard U.S. returns are by mail for eligible new, unopened items within 30 days of carrier delivery. Customers pay standard return shipping; there is no restocking fee. Approved refunds are issued within 5 business days after the return is received and inspected. Standard exchanges are not offered.
Cindi Book items have a flat $9.99 shipping charge. Shopify Collective items use shipping rates set by the supplier. Orders containing items from different fulfillment sources may include more than one shipping charge. Your full shipping total is shown at checkout before payment.
Return eligibility is subject to the full policy. Opened, read, or unsealed books with broken seals or visible wear are final sale. Digital downloads, gift cards, and personalized products are non-refundable. Original shipping charges are not refunded for standard returns. Contact us within 7 days of delivery about damaged, defective, or incorrect items.
by Greg Wilson (Author)
The best way to learn design in any field is to study examples, and some of the best examples of software design come from the tools programmers use in their own work. Software Design by Example: A Tool-Based Introduction with Python therefore builds small versions of the things programmers use in order to demystify them and give some insights into how experienced programmers think. From a file backup system and a testing framework to a regular expression matcher, a browser layout engine, and a very small compiler, we explore common design patterns, show how making code easier to test also makes it easier to reuse, and help readers understand how debuggers, profilers, package managers, and version control systems work so that they can use them more effectively.
This material can be used for self-paced study, in an undergraduate course on software design, or as the core of an intensive weeklong workshop for working programmers. Each chapter has a set of exercises ranging in size and difficulty from half a dozen lines to a full day's work. Readers should be familiar with the basics of modern Python, but the more advanced features of the language are explained and illustrated as they are introduced.
All the written material in this project can be freely reused under the terms of the Creative Commons - Attribution license, while all of the software is made available under the terms of the Hippocratic License. All proceeds from sale of this book will go to support the Red Door Family Shelter in Toronto.
Features:
- Teaches software design by showing programmers how to build the tools they use every day
- Each chapter includes exercises to help readers check and deepen their understanding
- All the example code can be downloaded, re-used, and modified under an open license
Author Biography
Dr. Greg Wilson is a programmer, author, and educator based in Toronto. He co-founded and was the first Executive Director of Software Carpentry, which has taught basic software skills to tens of thousands of researchers worldwide, and has authored or edited over a dozen books (including two for children). Greg is a member of the Python Software Foundation and a recipient of ACM SIGSOFT's Influential Educator of the Year award.
Pay with
Available payment methods and your final total are shown at checkout before payment.
Clear Information Before You Order
Cindi Book is the trade name of Cindi Book LLC, a Texas-registered online-only retailer. We provide clear contact, shipping, return, and checkout information so customers can make informed purchasing decisions.
Business & Customer Care
Cindi Book LLC
Administrative office only; no storefront or local pickup.
214-308-1733 · info@cindibook.com
Monday–Friday, 8:00 AM–5:00 PM CT
Shipping Transparency
Orders ship within the United States. Cindi Book branded titles typically arrive in 5–9 business days, including 0–2 business days of handling and 5–7 business days in transit. Supplier-fulfilled items typically arrive in 8–11 business days, including 1–3 business days of handling and 7–8 business days in transit. Business days are Monday–Friday, excluding U.S. federal holidays. Delivery estimates are not guarantees. Cindi Book items have a flat $9.99 shipping charge. Shopify Collective items use shipping rates set by the supplier. Orders containing items from different fulfillment sources may include more than one shipping charge. Your full shipping total is shown at checkout before payment.
Returns & Refunds
Standard U.S. returns are accepted for eligible new, unopened items within 30 days of carrier delivery. Returns are by mail. Customers are responsible for standard return shipping, there is no restocking fee, and standard exchanges are not offered. Once an approved return is received and inspected, the refund is issued to the original payment method within 5 business days. Damaged, defective, or incorrect items are handled at no return-shipping cost to the customer.
Return eligibility is subject to the full policy. Opened, read, or unsealed books with broken seals or visible wear are final sale. Digital downloads, gift cards, and personalized products are non-refundable. Original shipping charges are not refunded for standard returns. Contact us within 7 days of delivery about damaged, defective, or incorrect items.
Payment & Checkout
Checkout is processed securely through Shopify. Shipping charges, applicable taxes, the final order total, and available payment methods are shown before you submit payment.
Order Responsibility
Some items may ship from Cindi Book or U.S.-based publishing, manufacturing, or distribution suppliers that fulfill orders for Cindi Book. Cindi Book LLC remains the customer-service contact for order questions, delivery support, returns, and refunds.
