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.
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.
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.
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.