Fr. 80.00

Software Design By Example - A Tool-Based Introduction With Python

English · Paperback / Softback

Shipping usually within 3 to 5 weeks

Description

Read more

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

List of contents

1 Introduction

2 Objects and Classes

3 Finding Duplicate Files

4 Matching Patterns

5 Parsing Text

6 Running Tests

7 An Interpreter

8 Functions and Closures

9 Protocols

10 A File Archiver

11 An HTML Validator

12 A Template Expander

13 A Code Linter

14 Page Layout

15 Performance Profiling

16 Object Persistence

17 Binary Data

18 A Database

19 A Build Manager

20 A Package Manager

21 Transferring Files

22 Serving Web Pages

23 A File Viewer

24 Undo and Redo

25 A Virtual Machine

26 A Debugger

27 Conclusion

A Bibliography

B Bonus Material

C Syllabus

D License

E Code of Conduct

F Contributing

G Glossary

H Credits

Index

About the author










Greg Wilson is a first time author aged 71, who resides in the beautiful Macedon Ranges region of central Victoria, Australia. Leaving school early, soon led to a 20 year career in the Australian Army, spent serving throughout Eastern Australia, with Active Service in Vietnam. Much more knowledge was acquired during his service and as this was the pre-computer era, prolific reading and regular diary keeping, laid the basis for his autobiography.He is an accomplished distance runner with a marathon career which has spanned fifty years. Most recent has been the pursuit of Australian Age Group Records including those held by "folk legend" Cliff Young.

Summary

Software Design by Example: A Tool-Based Introduction with Python builds small versions of the things programmers use in order to give some insights into how experienced programmers think. This material can be used for self-paced study, in an undergraduate course on software design, or as an intensive workshop for programmers.

Customer reviews

No reviews have been written for this item yet. Write the first review and be helpful to other users when they decide on a purchase.

Write a review

Thumbs up or thumbs down? Write your own review.

For messages to CeDe.ch please use the contact form.

The input fields marked * are obligatory

By submitting this form you agree to our data privacy statement.