Software design by example: a tool-based introduction with Python
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 o...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Boca Raton ; London ; New York
CRC Press
2024
|
Ausgabe: | First edition |
Schlagworte: | |
Zusammenfassung: | 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 |
Beschreibung: | 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 |
Beschreibung: | xi, 330 Seiten Illustrationen 1390 gr |
ISBN: | 9781032725253 9781032725215 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV049679189 | ||
003 | DE-604 | ||
005 | 20240605 | ||
007 | t | ||
008 | 240507s2024 a||| |||| 00||| eng d | ||
020 | |a 9781032725253 |c hbk |9 978-1-032-72525-3 | ||
020 | |a 9781032725215 |c pbk |9 978-1-032-72521-5 | ||
024 | 3 | |a 9781032725215 | |
035 | |a (OCoLC)1437863983 | ||
035 | |a (DE-599)BVBBV049679189 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-29T | ||
100 | 1 | |a Wilson, Greg |d 1963- |e Verfasser |0 (DE-588)1208523201 |4 aut | |
245 | 1 | 0 | |a Software design by example |b a tool-based introduction with Python |c Greg Wilson |
250 | |a First edition | ||
264 | 1 | |a Boca Raton ; London ; New York |b CRC Press |c 2024 | |
300 | |a xi, 330 Seiten |b Illustrationen |c 1390 gr | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a 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 | ||
520 | |a 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 | ||
650 | 4 | |a bicssc / Environmental science, engineering & technology | |
650 | 4 | |a bicssc / Electrical engineering | |
650 | 4 | |a bicssc / Software Engineering | |
650 | 4 | |a bicssc / Programming & scripting languages - general | |
650 | 4 | |a bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design | |
650 | 4 | |a bisacsh / COMPUTERS / Software Development & Engineering / General | |
650 | 4 | |a bisacsh / COMPUTERS / Languages / Python | |
650 | 4 | |a bisacsh / COMPUTERS / Programming / General | |
650 | 4 | |a bisacsh / COMPUTERS / Computer Science | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-1-032-72523-9 |
Datensatz im Suchindex
_version_ | 1805082310976995328 |
---|---|
adam_text | |
any_adam_object | |
author | Wilson, Greg 1963- |
author_GND | (DE-588)1208523201 |
author_facet | Wilson, Greg 1963- |
author_role | aut |
author_sort | Wilson, Greg 1963- |
author_variant | g w gw |
building | Verbundindex |
bvnumber | BV049679189 |
ctrlnum | (OCoLC)1437863983 (DE-599)BVBBV049679189 |
edition | First edition |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV049679189</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240605</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">240507s2024 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781032725253</subfield><subfield code="c">hbk</subfield><subfield code="9">978-1-032-72525-3</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781032725215</subfield><subfield code="c">pbk</subfield><subfield code="9">978-1-032-72521-5</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9781032725215</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1437863983</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV049679189</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-29T</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Wilson, Greg</subfield><subfield code="d">1963-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1208523201</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Software design by example</subfield><subfield code="b">a tool-based introduction with Python</subfield><subfield code="c">Greg Wilson</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">First edition</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Boca Raton ; London ; New York</subfield><subfield code="b">CRC Press</subfield><subfield code="c">2024</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xi, 330 Seiten</subfield><subfield code="b">Illustrationen</subfield><subfield code="c">1390 gr</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">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</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bicssc / Environmental science, engineering & technology</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bicssc / Electrical engineering</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bicssc / Software Engineering</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bicssc / Programming & scripting languages - general</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bisacsh / COMPUTERS / Software Development & Engineering / General</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bisacsh / COMPUTERS / Languages / Python</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bisacsh / COMPUTERS / Programming / General</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">bisacsh / COMPUTERS / Computer Science</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-1-032-72523-9</subfield></datafield></record></collection> |
id | DE-604.BV049679189 |
illustrated | Illustrated |
indexdate | 2024-07-20T07:30:38Z |
institution | BVB |
isbn | 9781032725253 9781032725215 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-035022009 |
oclc_num | 1437863983 |
open_access_boolean | |
owner | DE-29T |
owner_facet | DE-29T |
physical | xi, 330 Seiten Illustrationen 1390 gr |
publishDate | 2024 |
publishDateSearch | 2024 |
publishDateSort | 2024 |
publisher | CRC Press |
record_format | marc |
spelling | Wilson, Greg 1963- Verfasser (DE-588)1208523201 aut Software design by example a tool-based introduction with Python Greg Wilson First edition Boca Raton ; London ; New York CRC Press 2024 xi, 330 Seiten Illustrationen 1390 gr txt rdacontent n rdamedia nc rdacarrier 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 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 bicssc / Environmental science, engineering & technology bicssc / Electrical engineering bicssc / Software Engineering bicssc / Programming & scripting languages - general bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design bisacsh / COMPUTERS / Software Development & Engineering / General bisacsh / COMPUTERS / Languages / Python bisacsh / COMPUTERS / Programming / General bisacsh / COMPUTERS / Computer Science Erscheint auch als Online-Ausgabe 978-1-032-72523-9 |
spellingShingle | Wilson, Greg 1963- Software design by example a tool-based introduction with Python bicssc / Environmental science, engineering & technology bicssc / Electrical engineering bicssc / Software Engineering bicssc / Programming & scripting languages - general bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design bisacsh / COMPUTERS / Software Development & Engineering / General bisacsh / COMPUTERS / Languages / Python bisacsh / COMPUTERS / Programming / General bisacsh / COMPUTERS / Computer Science |
title | Software design by example a tool-based introduction with Python |
title_auth | Software design by example a tool-based introduction with Python |
title_exact_search | Software design by example a tool-based introduction with Python |
title_full | Software design by example a tool-based introduction with Python Greg Wilson |
title_fullStr | Software design by example a tool-based introduction with Python Greg Wilson |
title_full_unstemmed | Software design by example a tool-based introduction with Python Greg Wilson |
title_short | Software design by example |
title_sort | software design by example a tool based introduction with python |
title_sub | a tool-based introduction with Python |
topic | bicssc / Environmental science, engineering & technology bicssc / Electrical engineering bicssc / Software Engineering bicssc / Programming & scripting languages - general bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design bisacsh / COMPUTERS / Software Development & Engineering / General bisacsh / COMPUTERS / Languages / Python bisacsh / COMPUTERS / Programming / General bisacsh / COMPUTERS / Computer Science |
topic_facet | bicssc / Environmental science, engineering & technology bicssc / Electrical engineering bicssc / Software Engineering bicssc / Programming & scripting languages - general bisacsh / COMPUTERS / Software Development & Engineering / Systems Analysis & Design bisacsh / COMPUTERS / Software Development & Engineering / General bisacsh / COMPUTERS / Languages / Python bisacsh / COMPUTERS / Programming / General bisacsh / COMPUTERS / Computer Science |
work_keys_str_mv | AT wilsongreg softwaredesignbyexampleatoolbasedintroductionwithpython |