diff --git a/lectures/user-experience/slides.qmd b/lectures/user-experience/slides.qmd index 04d106ee6a9a4e6e49a03b82673db2f7d8c89904..019239bc43dcda9ab27c998901e0d178a2214671 100644 --- a/lectures/user-experience/slides.qmd +++ b/lectures/user-experience/slides.qmd @@ -477,7 +477,8 @@ Take safe_copy.py and add useful error messages and return codes. * don't change user input within the code without communicating the change # Further reading - +* Edward Tufte: *Beautiful Evidence* (and other books) + [UHH Library System](https://katalogplus.sub.uni-hamburg.de/vufind/Record/80685877X) * *Dead programs tell no lies* (Topic 24 in Ch 4 of *The pragmatic programmer* [UHH Library system](https://katalogplus.sub.uni-hamburg.de/vufind/Record/168729271X) | [MPS ebooks](https://ebooks.mpdl.mpg.de/ebooks/Record/EB001950880) | [German ebook via UHH](https://katalogplus.sub.uni-hamburg.de/vufind/Record/1755846843)) * *Defensive Programming and “Fail Fastâ€* (in Ch 13 of *Fluent Python*).