Appendix A: Bibliography
- Aniche2022
- Maurício Aniche. Effective Software Testing: A developer's guide. Manning, 2022. ISBN 978-1633439931.
- Armstrong2013
- Tavish Armstrong, editor. The Performance of Open Source Applications. Lulu, 2013. ISBN 978-1304488787.
- Brand1995
- Stewart Brand. How Buildings Learn: What Happens After They're Built. Penguin USA, 1995. ISBN 978-0140139969.
- Bentley1982
- Jon Louis Bentley. Writing Efficient Programs. Prentice-Hall PTR, 1982. ISBN 978-0139702440.
- Brown2011
- Amy Brown and Greg Wilson, editors. The Architecture of Open Source Applications: Elegance, Evolution, and a Few Fearless Hacks. Lulu, 2011. ISBN 978-1257638017.
- Brown2012
- Amy Brown and Greg Wilson, editors. The Architecture of Open Source Applications: Structure, Scale, and a Few More Fearless Hacks. Lulu, 2012. ISBN 978-0201103427.
- Brown2016
- Amy Brown and Michael DiBernardo, editors. 500 Lines or Less: Experienced Programmers Solve Interesting Problems. Lulu, 2016. ISBN 978-1329871274.
- Conery2021
- Rob Conery. The Imposter's Handbook: A CS Primer for Self-Taught Developers. Independently published, 2021. ISBN 978-8708185266.
- Fucci2016
- Davide Fucci, Giuseppe Scanniello, Simone Romano, Martin Shepperd, Boyce Sigweni, Fernando Uyaguari, Burak Turhan, Natalia Juristo, and Markku Oivo. An external replication on the effects of test-driven development using a multi-site blind analysis approach. In Proc. ESEM'16. ACM, 9 2016. URL: https://doi.org/10.1145/2961111.2962592, doi:10.1145/2961111.2962592.
- Fowler2018
- Martin Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 2018. ISBN 978-0134757599.
- Gamma1994
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1994. ISBN 978-0201633610.
- Goldberg1991
- David Goldberg. What every computer scientist should know about floating-point arithmetic. ACM Computing Surveys, 3 1991. doi:10.1145/103162.103163.
- Hermans2021
- Felienne Hermans. The Programmer's Brain: What Every Programmer Needs to Know About Cognition. Manning, 2021. ISBN 9781617298677.
- Kamin1990
- Samuel N. Kamin. Programming Languages: An Interpreter-Based Approach. Addison-Wesley, 1990. ISBN 978-0201068245.
- Kerievsky2004
- Joshua Kerievsky. Refactoring to Patterns. Addison-Wesley Professional, 2004. ISBN 978-0321213358.
- Kernighan1979
- Brian W. Kernighan and P. J. Plauger. The Elements of Programming Style. McGraw-Hill, 1979. ISBN 978-0070342071.
- Kernighan1981
- Brian W. Kernighan and P. J. Plauger. Software Tools in Pascal. Addison-Wesley Professional, 1981. ISBN 978-0201103427.
- Kernighan1983
- Brian W. Kernighan and Rob Pike. The Unix Programming Environment. Prentice-Hall, 1983. ISBN 978-0139376818.
- Kernighan1988
- Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language. Prentice-Hall, 1988. ISBN 978-0131103627.
- Kohavi2020
- Ron Kohavi, Diane Tang, and Ya Xu. Trustworthy Online Controlled Experiments: A Practical Guide to A/B Testing. Cambridge University Press, 2020. ISBN 978-1108724265.
- Meszaros2007
- Gerard Meszaros. xUnit Test Patterns: Refactoring Test Code. Addison-Wesley, 2007. ISBN 978-0131495050.
- Nisan2021
- Noam Nisan and Shimon Schocken. The Elements of Computing Systems: Building a Modern Computer from First Principles. MIT Press, 2nd edition, 2021. ISBN 978-0262539807.
- Nystrom2021
- Robert Nystrom. Crafting Interpreters. Genever Benning, 2021. ISBN 978-0990582939.
- Oram2007
- Andy Oram and Greg Wilson, editors. Beautiful Code: Leading Programmers Explain How They Think. O'Reilly, 2007. ISBN 978-0596510046.
- Patterson2017
- David A. Patterson and John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface. Morgan Kaufmann, 2017. ISBN 978-0128122754.
- Petre2016
- Marian Petre and André van der Hoek. Software Design Decoded: 66 Ways Experts Think. MIT Press, 2016. ISBN 978-0262035187.
- Schon1984
- Donald A. Schon. The Reflective Practitioner: How Professionals Think in Action. Basic Books, 1984. ISBN 978-0465068784.
- Smith2011
- Peter Smith. Software Build Systems: Principles and Experience. Addison-Wesley Professional, 2011. ISBN 978-0134185965.
- Tichy2010
- Walter Tichy. The evidence for design patterns. In Andy Oram and Greg Wilson, editors, Making Software: What Really Works, and Why We Believe It. 2010.
- Wilson2019
- Greg Wilson. Teaching Tech Together. Chapman & Hall/CRC Press, 2019. ISBN 978-0367352974.
- Wilson2022a
- Greg Wilson. Software Design by Example: A Tool-Based Introduction with JavaScript. CRC Press/Taylor & Francis, 2022. ISBN 978-1032399676.
- Wilson2022b
- Greg Wilson. Twelve quick tips for software design. PLOS Computational Biology, 2 2022. doi:10.1371/journal.pcbi.1009809.
- Wirth1976
- Niklaus Wirth. Algorithms + Data Structures = Programs. Prentice-Hall, 1976. ISBN 978-0-13-022418-7.
- Zeller2023
- Andreas Zeller, Rahul Gopinath, Marcel Böhme, Gordon Fraser, and Christian Holler. The Fuzzing Book. CISPA Helmholtz Center for Information Security, 2023. Viewed 2023-01-07. URL: https://www.fuzzingbook.org/.
