From 80d9461bd58422dd9633ffadd3fa5df3282c8d69 Mon Sep 17 00:00:00 2001 From: richelbilderbeek Date: Thu, 12 Oct 2023 10:37:02 +0200 Subject: [PATCH] Start of Day 5 --- lesson_plans/20231110_overview.txt | 47 - .../{ => day_3}/20231110_reflection.md | 0 lesson_plans/{ => day_3}/20231110_richel.md | 0 .../{ => day_3}/check_python_style.sh | 0 lesson_plans/{ => day_3}/day_3.bib | 0 lesson_plans/{ => day_3}/day_3.qmd | 0 .../day_3_schedule_reminder.sh} | 0 lesson_plans/{ => day_3}/dilbert_agile_1.png | Bin lesson_plans/{ => day_3}/dilbert_agile_2.png | Bin lesson_plans/{ => day_3}/dilbert_tdd.gif | Bin lesson_plans/{ => day_3}/dilbert_tdd.png | Bin lesson_plans/{ => day_3}/dilbert_tdd_2.gif | Bin lesson_plans/{ => day_3}/dilbert_tdd_2.png | Bin lesson_plans/{ => day_3}/dilbert_tdd_3.png | Bin lesson_plans/{ => day_3}/dilbert_tdd_4.png | Bin lesson_plans/{ => day_3}/forgetting.png | Bin lesson_plans/{ => day_3}/function_cartoon.png | Bin lesson_plans/{ => day_3}/render.sh | 0 lesson_plans/{ => day_3}/styles.css | 0 lesson_plans/{ => day_3}/tdd_cycle_2.jpg | Bin lesson_plans/{ => day_3}/tdd_hat_1.jpg | Bin lesson_plans/{ => day_3}/tdd_hat_2.jpg | Bin lesson_plans/{ => day_3}/test.sh | 0 lesson_plans/{ => day_3}/vancouver.csl | 0 lesson_plans/day_5/20231113_richel.md | 14 + lesson_plans/day_5/check_python_style.sh | 20 + lesson_plans/day_5/day_5.bib | 960 +++++++++++++++++ lesson_plans/day_5/day_5.qmd | 994 ++++++++++++++++++ lesson_plans/day_5/day_5_schedule_reminder.sh | 15 + lesson_plans/day_5/render.sh | 3 + lesson_plans/day_5/styles.css | 7 + lesson_plans/day_5/tdd_cycle_2.jpg | Bin 0 -> 42509 bytes lesson_plans/day_5/tdd_hat_1.jpg | Bin 0 -> 50391 bytes lesson_plans/day_5/tdd_hat_2.jpg | Bin 0 -> 69439 bytes lesson_plans/day_5/test.sh | 2 + lesson_plans/day_5/vancouver.csl | 351 +++++++ 36 files changed, 2366 insertions(+), 47 deletions(-) delete mode 100644 lesson_plans/20231110_overview.txt rename lesson_plans/{ => day_3}/20231110_reflection.md (100%) rename lesson_plans/{ => day_3}/20231110_richel.md (100%) rename lesson_plans/{ => day_3}/check_python_style.sh (100%) rename lesson_plans/{ => day_3}/day_3.bib (100%) rename lesson_plans/{ => day_3}/day_3.qmd (100%) rename lesson_plans/{day_3.sh => day_3/day_3_schedule_reminder.sh} (100%) rename lesson_plans/{ => day_3}/dilbert_agile_1.png (100%) rename lesson_plans/{ => day_3}/dilbert_agile_2.png (100%) rename lesson_plans/{ => day_3}/dilbert_tdd.gif (100%) rename lesson_plans/{ => day_3}/dilbert_tdd.png (100%) rename lesson_plans/{ => day_3}/dilbert_tdd_2.gif (100%) rename lesson_plans/{ => day_3}/dilbert_tdd_2.png (100%) rename lesson_plans/{ => day_3}/dilbert_tdd_3.png (100%) rename lesson_plans/{ => day_3}/dilbert_tdd_4.png (100%) rename lesson_plans/{ => day_3}/forgetting.png (100%) rename lesson_plans/{ => day_3}/function_cartoon.png (100%) rename lesson_plans/{ => day_3}/render.sh (100%) rename lesson_plans/{ => day_3}/styles.css (100%) rename lesson_plans/{ => day_3}/tdd_cycle_2.jpg (100%) rename lesson_plans/{ => day_3}/tdd_hat_1.jpg (100%) rename lesson_plans/{ => day_3}/tdd_hat_2.jpg (100%) rename lesson_plans/{ => day_3}/test.sh (100%) rename lesson_plans/{ => day_3}/vancouver.csl (100%) create mode 100644 lesson_plans/day_5/20231113_richel.md create mode 100755 lesson_plans/day_5/check_python_style.sh create mode 100644 lesson_plans/day_5/day_5.bib create mode 100644 lesson_plans/day_5/day_5.qmd create mode 100755 lesson_plans/day_5/day_5_schedule_reminder.sh create mode 100755 lesson_plans/day_5/render.sh create mode 100644 lesson_plans/day_5/styles.css create mode 100644 lesson_plans/day_5/tdd_cycle_2.jpg create mode 100644 lesson_plans/day_5/tdd_hat_1.jpg create mode 100644 lesson_plans/day_5/tdd_hat_2.jpg create mode 100755 lesson_plans/day_5/test.sh create mode 100644 lesson_plans/day_5/vancouver.csl diff --git a/lesson_plans/20231110_overview.txt b/lesson_plans/20231110_overview.txt deleted file mode 100644 index 58c1740..0000000 --- a/lesson_plans/20231110_overview.txt +++ /dev/null @@ -1,47 +0,0 @@ -# 1. Big Picture -## 5. What is mastery in programming? -## 8. How to do better? -## 14. Questions about `assert` -# 2. Express your assumptions in code -## Slide 16: Problem -## 18. Question about functions -## 24. Question about functions -# 3. Express yourself in readable code -## 29. Questions 1 -## 31. Questions 2 -## 34. Question 3 -## 36. Question 4 -## 38. Question 5 -## 40. Question 6 -## 42. Question 7 -## 44. Question 8 -## 46. Questions about function names? -# 4. Making your code readable -## 48. We were all kids once -## 49. Your first code -# 5. Do work in the right order -## 56. Question 1 -## 58. Question 2 -## 60. Question 3 -## 62. Question 4 -## 64. Question 5 -## 66. Question 6 -## 68. Questions about function testing? -# 6. Make your function usable by others -## 71. Questions about function documentation? -# 7. Writing the function body -## 73. When is a function body good enough? -## 76. Questions about writing a function body? -# 8. Expressing a set -## 79. What is set? -## 81. Question -## 83. Question -## 86. Questions about sets? -# 9. Expressing a dictionary -## 88. Trick question -## 91. Questions about dictionaries? -# 10. Using system arguments -## 94. Problem -## 96. Exercise, little help -## 99. Questions about command line arguments? -## 101. Questions about today’s theory? diff --git a/lesson_plans/20231110_reflection.md b/lesson_plans/day_3/20231110_reflection.md similarity index 100% rename from lesson_plans/20231110_reflection.md rename to lesson_plans/day_3/20231110_reflection.md diff --git a/lesson_plans/20231110_richel.md b/lesson_plans/day_3/20231110_richel.md similarity index 100% rename from lesson_plans/20231110_richel.md rename to lesson_plans/day_3/20231110_richel.md diff --git a/lesson_plans/check_python_style.sh b/lesson_plans/day_3/check_python_style.sh similarity index 100% rename from lesson_plans/check_python_style.sh rename to lesson_plans/day_3/check_python_style.sh diff --git a/lesson_plans/day_3.bib b/lesson_plans/day_3/day_3.bib similarity index 100% rename from lesson_plans/day_3.bib rename to lesson_plans/day_3/day_3.bib diff --git a/lesson_plans/day_3.qmd b/lesson_plans/day_3/day_3.qmd similarity index 100% rename from lesson_plans/day_3.qmd rename to lesson_plans/day_3/day_3.qmd diff --git a/lesson_plans/day_3.sh b/lesson_plans/day_3/day_3_schedule_reminder.sh similarity index 100% rename from lesson_plans/day_3.sh rename to lesson_plans/day_3/day_3_schedule_reminder.sh diff --git a/lesson_plans/dilbert_agile_1.png b/lesson_plans/day_3/dilbert_agile_1.png similarity index 100% rename from lesson_plans/dilbert_agile_1.png rename to lesson_plans/day_3/dilbert_agile_1.png diff --git a/lesson_plans/dilbert_agile_2.png b/lesson_plans/day_3/dilbert_agile_2.png similarity index 100% rename from lesson_plans/dilbert_agile_2.png rename to lesson_plans/day_3/dilbert_agile_2.png diff --git a/lesson_plans/dilbert_tdd.gif b/lesson_plans/day_3/dilbert_tdd.gif similarity index 100% rename from lesson_plans/dilbert_tdd.gif rename to lesson_plans/day_3/dilbert_tdd.gif diff --git a/lesson_plans/dilbert_tdd.png b/lesson_plans/day_3/dilbert_tdd.png similarity index 100% rename from lesson_plans/dilbert_tdd.png rename to lesson_plans/day_3/dilbert_tdd.png diff --git a/lesson_plans/dilbert_tdd_2.gif b/lesson_plans/day_3/dilbert_tdd_2.gif similarity index 100% rename from lesson_plans/dilbert_tdd_2.gif rename to lesson_plans/day_3/dilbert_tdd_2.gif diff --git a/lesson_plans/dilbert_tdd_2.png b/lesson_plans/day_3/dilbert_tdd_2.png similarity index 100% rename from lesson_plans/dilbert_tdd_2.png rename to lesson_plans/day_3/dilbert_tdd_2.png diff --git a/lesson_plans/dilbert_tdd_3.png b/lesson_plans/day_3/dilbert_tdd_3.png similarity index 100% rename from lesson_plans/dilbert_tdd_3.png rename to lesson_plans/day_3/dilbert_tdd_3.png diff --git a/lesson_plans/dilbert_tdd_4.png b/lesson_plans/day_3/dilbert_tdd_4.png similarity index 100% rename from lesson_plans/dilbert_tdd_4.png rename to lesson_plans/day_3/dilbert_tdd_4.png diff --git a/lesson_plans/forgetting.png b/lesson_plans/day_3/forgetting.png similarity index 100% rename from lesson_plans/forgetting.png rename to lesson_plans/day_3/forgetting.png diff --git a/lesson_plans/function_cartoon.png b/lesson_plans/day_3/function_cartoon.png similarity index 100% rename from lesson_plans/function_cartoon.png rename to lesson_plans/day_3/function_cartoon.png diff --git a/lesson_plans/render.sh b/lesson_plans/day_3/render.sh similarity index 100% rename from lesson_plans/render.sh rename to lesson_plans/day_3/render.sh diff --git a/lesson_plans/styles.css b/lesson_plans/day_3/styles.css similarity index 100% rename from lesson_plans/styles.css rename to lesson_plans/day_3/styles.css diff --git a/lesson_plans/tdd_cycle_2.jpg b/lesson_plans/day_3/tdd_cycle_2.jpg similarity index 100% rename from lesson_plans/tdd_cycle_2.jpg rename to lesson_plans/day_3/tdd_cycle_2.jpg diff --git a/lesson_plans/tdd_hat_1.jpg b/lesson_plans/day_3/tdd_hat_1.jpg similarity index 100% rename from lesson_plans/tdd_hat_1.jpg rename to lesson_plans/day_3/tdd_hat_1.jpg diff --git a/lesson_plans/tdd_hat_2.jpg b/lesson_plans/day_3/tdd_hat_2.jpg similarity index 100% rename from lesson_plans/tdd_hat_2.jpg rename to lesson_plans/day_3/tdd_hat_2.jpg diff --git a/lesson_plans/test.sh b/lesson_plans/day_3/test.sh similarity index 100% rename from lesson_plans/test.sh rename to lesson_plans/day_3/test.sh diff --git a/lesson_plans/vancouver.csl b/lesson_plans/day_3/vancouver.csl similarity index 100% rename from lesson_plans/vancouver.csl rename to lesson_plans/day_3/vancouver.csl diff --git a/lesson_plans/day_5/20231113_richel.md b/lesson_plans/day_5/20231113_richel.md new file mode 100644 index 0000000..6ebd292 --- /dev/null +++ b/lesson_plans/day_5/20231113_richel.md @@ -0,0 +1,14 @@ +# Lesson plan 2023-11-12 by Richel + +## Learning objectives + + * Being able to use regular expression in a tested function + +## Teacher goals + + * Show TDD in live coding + * Students must code often + +## Plan for today + + * Use the existing exercises, prepare the students for those diff --git a/lesson_plans/day_5/check_python_style.sh b/lesson_plans/day_5/check_python_style.sh new file mode 100755 index 0000000..f14f644 --- /dev/null +++ b/lesson_plans/day_5/check_python_style.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# +# + +# Ignore the first ruff error +ruff day_3.qmd > temp_ruff_results.txt 2>&1 + +last_line=$(cat temp_ruff_results.txt | tail -n 1) +# echo "last_line: ${last_line}" +n_errors_plus_one=$(echo "${last_line}" | cut -d ' ' -f 2) +# echo "Number of errors plus one: ${n_errors_plus_one}" +n_errors=$((n_errors_plus_one-1)) +echo "Number of errors: ${n_errors}" + +exit ${n_errors} + +# FAILS: will still always give an error +# Remove the part between '---' +#tail -n +11 day_3.qmd > temp_day_3.qmd +#ruff temp_day_3.qmd diff --git a/lesson_plans/day_5/day_5.bib b/lesson_plans/day_5/day_5.bib new file mode 100644 index 0000000..5e76761 --- /dev/null +++ b/lesson_plans/day_5/day_5.bib @@ -0,0 +1,960 @@ +@article{george2004structured, + title={A structured experiment of test-driven development}, + author={George, Boby and Williams, Laurie}, + journal={Information and software Technology}, + volume={46}, + number={5}, + pages={337--342}, + year={2004}, + publisher={Elsevier} +} + +@book{madeyski2010test, + title={Test-driven development: An empirical evaluation of agile practice}, + author={Madeyski, Lech and Gesti{\'o}n de sistemas de informaci{\'o}n}, + year={2010}, + publisher={Springer} +} + +@book{mayr2005projekt, + title={Projekt Engineering: Ingenieurm{\"a}{\ss}ige Softwareentwicklung in Projektgruppen}, + author={Mayr, Herwig}, + year={2005}, + publisher={Hanser Verlag} +} + +@article{nagappan2008realizing, + title={Realizing quality improvement through test driven development: results and experiences of four industrial teams}, + author={Nagappan, Nachiappan and Maximilien, E Michael and Bhat, Thirumalesh and Williams, Laurie}, + journal={Empirical Software Engineering}, + volume={13}, + pages={289--302}, + year={2008}, + publisher={Springer} +} + + + + +@article{abd2018calculating, + title = "Calculating {M}c{C}abe's cyclomatic complexity metric and its effect on the quality aspects of software", + author={Abd Jader, Marwa Najm and Mahmood, Riyadh Zaghlool}, + year={2018} +} + +@article{alkaoud2018quality, + title={Quality metrics of test suites in test-driven designed applications}, + author={Alkaoud, Hessah and Walcott, Kristen R}, + journal={International Journal of Software Engineering Applications (IJSEA)}, + volume={2018}, + year={2018} +} + +@article{azencott2018machine, + title={Machine learning and genomics: precision medicine versus patient privacy}, + author={Azencott, C-A}, + journal={Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences}, + volume={376}, + number={2128}, + pages={20170350}, + year={2018}, + publisher={The Royal Society Publishing} +} + +@article{baggerly2009deriving, + title={Deriving chemosensitivity from cell lines: Forensic bioinformatics and reproducible research in high-throughput biology}, + author={Baggerly, Keith A and Coombes, Kevin R}, + journal={The Annals of Applied Statistics}, + pages={1309--1334}, + year={2009}, + publisher={JSTOR} +} + +@article{barba2016hard, + title={The hard road to reproducibility}, + author={Barba, Lorena A}, + journal={Science}, + volume={354}, + number={6308}, + pages={142--142}, + year={2016}, + publisher={American Association for the Advancement of Science} +} + +@article{barnes2010publish, + title={Publish your computer code: it is good enough}, + author={Barnes, Nick}, + journal={Nature}, + volume={467}, + number={7317}, + pages={753--753}, + year={2010}, + publisher={Nature Publishing Group} +} + +@misc{bbbqarticleissue157, + author = {Richèl J. C. Bilderbeek}, + title = {{BBBQ} article issue 157}, + howpublished = {\url{https://github.com/richelbilderbeek/bbbq_article_issue_157}}, + year = {2021}, + note = {[Accessed 29-May-2022]}, +} + +@book{beck2000extreme, + title={Extreme programming explained: embrace change}, + author={Beck, Kent}, + year={2000}, + publisher={Addison-Wesley Professional} +} + +@article{benureau2018re, + title={Re-run, repeat, reproduce, reuse, replicate: transforming code into scientific contributions}, + author={Benureau, Fabien CY and Rougier, Nicolas P}, + journal={Frontiers in neuroinformatics}, + volume={11}, + pages={69}, + year={2018}, + publisher={Frontiers Media SA} +} + +@inproceedings{bhat2006evaluating, + title={Evaluating the efficacy of test-driven development: industrial case studies}, + author={Bhat, Thirumalesh and Nagappan, Nachiappan}, + booktitle={Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering}, + pages={356--363}, + year={2006} +} + +@article{bilderbeek2020mcbette, + title={mcbette: model comparison using babette}, + author={Bilderbeek, Rich{\`e}l JC}, + journal={Journal of Open Source Software}, + volume={5}, + number={54}, + pages={2762}, + year={2020} +} + +@ARTICLE{bilderbeek2022transmembrane, + AUTHOR={Bilderbeek, Richèl J. C. and Baranov, Maksim V. and van den Bogaart, Geert and Bianchi, Frans}, + TITLE={Transmembrane Helices Are an Over-Presented and Evolutionarily Conserved Source of Major Histocompatibility Complex Class I and II Epitopes}, + JOURNAL={Frontiers in Immunology}, + VOLUME={12}, + YEAR={2022}, + URL={https://www.frontiersin.org/article/10.3389/fimmu.2021.763044}, + DOI={10.3389/fimmu.2021.763044}, + ISSN={1664-3224} +} + +@article{bonneel2020code, + title={Code replicability in computer graphics}, + author={Bonneel, Nicolas and Coeurjolly, David and Digne, Julie and Mellado, Nicolas}, + journal={ACM Transactions on Graphics (TOG)}, + volume={39}, + number={4}, + pages={93--1}, + year={2020}, + publisher={ACM New York, NY, USA} +} + +@article{bruce2009metabolic, + title={The metabolic syndrome: common origins of a multifactorial disorder}, + author={Bruce, KD and Byrne, CD}, + journal={Postgraduate medical journal}, + volume={85}, + number={1009}, + pages={614--621}, + year={2009}, + publisher={The Fellowship of Postgraduate Medicine} +} + +@article{choumert2019using, + title={Using paradata to collect better survey data: evidence from a household survey in Tanzania}, + author={Choumert-Nkolo, Johanna and Cust, Henry and Taylor, Callum}, + journal={Review of Development Economics}, + volume={23}, + number={2}, + pages={598--618}, + year={2019}, + publisher={Wiley Online Library} +} + +@article{chen2019empirical, + title={An Empirical Investigation of Correlation between Code Complexity and Bugs}, + author={Chen, Changqi}, + journal={arXiv preprint arXiv:1912.01142}, + year={2019} +} + +@article{clayton2019law, + title={The law of genetic privacy: applications, implications, and limitations}, + author={Clayton, Ellen Wright and Evans, Barbara J and Hazel, James W and Rothstein, Mark A}, + journal={Journal of Law and the Biosciences}, + volume={6}, + number={1}, + pages={1--36}, + year={2019}, + publisher={Oxford University Press} +} + +@article{conesa2019making, + title={Making multi-omics data accessible to researchers}, + author={Conesa, Ana and Beck, Stephan}, + journal={Scientific data}, + volume={6}, + number={1}, + pages={1--4}, + year={2019}, + publisher={Nature Publishing Group} +} + +@article{cosentino2017systematic, + title = "A systematic mapping study of software development with {G}it{H}ub", + author={Cosentino, Valerio and Izquierdo, Javier L C{\'a}novas and Cabot, Jordi}, + journal={IEEE Access}, + volume={5}, + pages={7173--7192}, + year={2017}, + publisher={IEEE} +} + +@article{couper1998measuring, + title={Measuring survey quality in a CASIC environment}, + author={Couper, Mick}, + journal={Proceedings of the Survey Research Methods Section of the ASA at JSM1998}, + pages={41--49}, + year={1998} +} + +@inproceedings{del1995correlation, + title={On the correlation between code coverage and software reliability}, + author={Del Frate, Fabio and Garg, Praerit and Mathur, Aditya P and Pasquini, Alberto}, + booktitle={Software Reliability Engineering, 1995. Proceedings., Sixth International Symposium on}, + pages={124--132}, + year={1995}, + organization={IEEE} +} + +@article{eklund2016cluster, + title={Cluster failure: Why fMRI inferences for spatial extent have inflated false-positive rates}, + author={Eklund, Anders and Nichols, Thomas E and Knutsson, Hans}, + journal={Proceedings of the national academy of sciences}, + volume={113}, + number={28}, + pages={7900--7905}, + year={2016}, + publisher={National Acad Sciences} +} + +@article{enroth2014strong, + title={Strong effects of genetic and lifestyle factors on biomarker variation and use of personalized cutoffs}, + author={Enroth, Stefan and Johansson, {\AA}sa and Enroth, Sofia Bosdotter and Gyllensten, Ulf}, + journal={Nature communications}, + volume={5}, + number={1}, + pages={1--11}, + year={2014}, + publisher={Nature Publishing Group} +} + +@article{erdogmus2005effectiveness, + title={On the effectiveness of the test-first approach to programming}, + author={Erdogmus, Hakan and Morisio, Maurizio and Torchiano, Marco}, + journal={IEEE Transactions on software Engineering}, + volume={31}, + number={3}, + pages={226--237}, + year={2005}, + publisher={IEEE} +} + +@inproceedings{fang2001, + title={Using a coding standard to improve program quality}, + author={Fang, Xuefen}, + booktitle={Quality Software, 2001. Proceedings. Second Asia-Pacific Conference on}, + pages={73--78}, + year={2001}, + organization={IEEE} +} + +@article{gopalakrishna2022prevalence, + title={Prevalence of questionable research practices, research misconduct and their potential explanatory factors: A survey among academic researchers in The Netherlands}, + author={Gopalakrishna, Gowri and Ter Riet, Gerben and Vink, Gerko and Stoop, Ineke and Wicherts, Jelte M and Bouter, Lex M}, + journal={PloS one}, + volume={17}, + number={2}, + pages={e0263023}, + year={2022}, + publisher={Public Library of Science} +} + +@article{gorgolewski2016practical, + title={A practical guide for improving transparency and reproducibility in neuroimaging research}, + author={Gorgolewski, Krzysztof J and Poldrack, Russell}, + journal={bioRxiv}, + pages={039354}, + year={2016}, + publisher={Cold Spring Harbor Labs Journals} +} + +@misc{glossary2003oecd, + title={The OECD glossary of statistical terms}, + author={Glossary, OECD}, + year={2003}, + publisher={Online at: http://stats.oecd.org/glossary/detail.asp} +} + +@misc{haibe2020importance, + title={The importance of transparency and reproducibility in artificial intelligence research. 2020}, + author={Haibe-Kains, Benjamin and Adam, GA and Hosny, Ahmed and Khodakarami, Farnoosh and Board, MS and Waldron, Levi and Wang, Bo and Mcintosh, Chris and Kundaje, Anshul and Greene, Casey and others}, + year={2020} +} + +@inproceedings{hata2015characteristics, + title={Characteristics of sustainable oss projects: A theoretical and empirical study}, + author={Hata, Hideaki and Todo, Taiki and Onoue, Saya and Matsumoto, Kenichi}, + booktitle={2015 IEEE/ACM 8th International Workshop on Cooperative and Human Aspects of Software Engineering}, + pages={15--21}, + year={2015}, + organization={IEEE} +} + +@article{hayes1998computing, + title={Computing Science: Bit Rot}, + author={Hayes, Brian}, + journal={American Scientist}, + volume={86}, + number={5}, + pages={410--415}, + year={1998}, + publisher={JSTOR} +} + +@article{hinsen2019dealing, + title={Dealing with software collapse}, + author={Hinsen, Konrad}, + journal={Computing in Science \& Engineering}, + volume={21}, + number={3}, + pages={104--108}, + year={2019}, + publisher={IEEE} +} + +@online{hopfner2005, + author = "Nicolas Höpfner", + title = "Wooden church of {K}aresuando, {S}weden", + year = "2005", + urlseen = "29-05-2022", + url = "https://commons.wikimedia.org/wiki/File:Karesuando_church.jpg", +} + +@article{horgan1994, + title={Achieving software quality with testing coverage measures}, + author={Horgan, Joseph R. and London, Saul and Lyu, Michael R}, + journal={Computer}, + volume={27}, + number={9}, + pages={60--69}, + year={1994}, + publisher={IEEE} +} + +@article{huvila2022improving, + title={Improving the usefulness of research data with better paradata}, + author={Huvila, Isto}, + journal={Open Information Science}, + volume={6}, + number={1}, + pages={28--48}, + year={2022}, + publisher={De Gruyter Open Access} +} + +@article{igl2010northern, + title = "The {N}orthern {S}wedish {P}opulation {H}ealth {S}tudy ({NSPHS})--a paradigmatic study in a rural population combining community health and basic research", + author={Igl, Wilmar and Johansson, {\AA}sa and Gyllensten, Ulf}, + journal={Rural and remote health}, + volume={10}, + number={2}, + pages={198--215}, + year={2010}, + publisher={James Cook University Townsville QLD.} +} + +@article{janzen2006test, + title = "Test-driven learning: intrinsic integration of testing into the {CS}/{SE} curriculum", + author={Janzen, David S and Saiedian, Hossein}, + journal={Acm Sigcse Bulletin}, + volume={38}, + number={1}, + pages={254--258}, + year={2006}, + publisher={ACM New York, NY, USA} +} + +@article{jimenez2017four, + title={Four simple recommendations to encourage best practices in research software}, + author={Jim{\'e}nez, Rafael C and Kuzak, Mateusz and Alhamdoosh, Monther and Barker, Michelle and Batut, B{\'e}r{\'e}nice and Borg, Mikael and Capella-Gutierrez, Salvador and Hong, Neil Chue and Cook, Martin and Corpas, Manuel and others}, + journal={F1000Research}, + volume={6}, + year={2017}, + publisher={Faculty of 1000 Ltd} +} + +@article{johansson2013identification, + title={Identification of genetic variants influencing the human plasma proteome}, + author={Johansson, {\AA}sa and Enroth, Stefan and Palmblad, Magnus and Deelder, Andr{\'e} M and Bergquist, Jonas and Gyllensten, Ulf}, + journal={Proceedings of the National Academy of Sciences}, + volume={110}, + number={12}, + pages={4673--4678}, + year={2013}, + publisher={National Acad Sciences} +} + +@article{Julia-2017, + title={Julia: A fresh approach to numerical computing}, + author={Bezanson, Jeff and Edelman, Alan and Karpinski, Stefan and Shah, Viral B}, + journal={SIAM {R}eview}, + volume={59}, + number={1}, + pages={65--98}, + year={2017}, + publisher={SIAM}, + doi={10.1137/141000671}, + url={https://epubs.siam.org/doi/10.1137/141000671} +} + +@article{kathiresan2012genetics, + title={Genetics of human cardiovascular disease}, + author={Kathiresan, Sekar and Srivastava, Deepak}, + journal={Cell}, + volume={148}, + number={6}, + pages={1242--1257}, + year={2012}, + publisher={Elsevier} +} + +@article{knuth1984literate, + title={Literate programming}, + author={Knuth, Donald Ervin}, + journal={The computer journal}, + volume={27}, + number={2}, + pages={97--111}, + year={1984}, + publisher={Oxford University Press} +} + +@article{labrecque2019interpretation, + title={Interpretation and potential biases of Mendelian randomization estimates with time-varying exposures}, + author={Labrecque, Jeremy A and Swanson, Sonja A}, + journal={American journal of epidemiology}, + volume={188}, + number={1}, + pages={231--238}, + year={2019}, + publisher={Oxford University Press} +} + +@article{lakos1996large, + title={Large-scale C++ software design}, + author={Lakos, John}, + journal={Reading, MA}, + volume={173}, + pages={217--271}, + year={1996} +} + +@misc{lee2018ten, + title={Ten simple rules for documenting scientific software}, + author={Lee, Benjamin D}, + journal={PLOS Computational Biology}, + volume={14}, + number={12}, + pages={e1006561}, + year={2018}, + publisher={Public Library of Science San Francisco, CA USA} +} + +@book{liberty2002sams, + title={Sams teach yourself C++ in 24 hours}, + author={Liberty, Jesse}, + year={2002}, + publisher={Sams publishing} +} + +@article{manca2018non, + title={Non-corresponding authors in the era of meta-analyses}, + author={Manca, Andrea and Cugusi, Lucia and Dvir, Zeevi and Deriu, Franca}, + journal={Journal of clinical epidemiology}, + volume={98}, + pages={159--161}, + year={2018}, + publisher={Elsevier} +} + +@misc{martin2005joint, + title={Joint Strike Fighter, Air Vehicle, C++ Coding Standard}, + author={Martin, Lockheed}, + year={2005}, + publisher={Lockheed Martin, December} +} + +@book{mcconnell2004code, + title={Code complete}, + author={McConnell, Steve}, + year={2004}, + publisher={Pearson Education} +} + +@book{meyers2005effective, + title={Effective C++: 55 specific ways to improve your programs and designs}, + author={Meyers, Scott}, + year={2005}, + publisher={Pearson Education} +} + +@book{newport2016deep, + title={Deep work: Rules for focused success in a distracted world}, + author={Newport, Cal}, + year={2016}, + publisher={Hachette UK} +} + +@article{nicolaas2011survey, + title={Survey paradata: a review}, + author={Nicolaas, Gerry}, + year={2011}, + publisher={NCRM} +} + +@article{o2003email, + title = "Is email a reliable means of contacting authors of previously published papers? {A} study of the {E}mergency {M}edicine {J}ournal for 2001", + author={O’Leary, F}, + journal={Emergency medicine journal}, + volume={20}, + number={4}, + pages={352--353}, + year={2003}, + publisher={British Association for Accident and Emergency Medicine} +} + +@article{obels2020analysis, + title={Analysis of open data and computational reproducibility in registered reports in psychology}, + author={Obels, Pepijn and Lakens, Daniel and Coles, Nicholas A and Gottfried, Jaroslav and Green, Seth A}, + journal={Advances in Methods and Practices in Psychological Science}, + volume={3}, + number={2}, + pages={229--237}, + year={2020}, + publisher={Sage Publications Sage CA: Los Angeles, CA} +} + +@article{patil2019visual, + title={A visual tool for defining reproducibility and replicability}, + author={Patil, Prasad and Peng, Roger D and Leek, Jeffrey T}, + journal={Nature human behaviour}, + volume={3}, + number={7}, + pages={650--652}, + year={2019}, + publisher={Nature Publishing Group} +} + +@article{peng2006reproducible, + title={Reproducible epidemiologic research}, + author={Peng, Roger D and Dominici, Francesca and Zeger, Scott L}, + journal={American journal of epidemiology}, + volume={163}, + number={9}, + pages={783--789}, + year={2006}, + publisher={Oxford University Press} +} + +@article{peng2011reproducible, + title={Reproducible research in computational science}, + author={Peng, Roger D}, + journal={Science}, + volume={334}, + number={6060}, + pages={1226--1227}, + year={2011}, + publisher={American Association for the Advancement of Science} +} + +@article{peng2021reproducible, + title={Reproducible research: A retrospective}, + author={Peng, Roger D and Hicks, Stephanie C}, + journal={Annual review of public health}, + volume={42}, + pages={79--93}, + year={2021}, + publisher={Annual Reviews} +} + +@article{perez2016ten, + title = "Ten Simple Rules for Taking Advantage of git and {G}it{H}ub", + author={Perez-Riverol, Yasset and Gatto, Laurent and Wang, Rui and Sachsenberg, Timo and Uszkoreit, Julian and Leprevost, Felipe and Fufezan, Christian and Ternent, Tobias and Eglen, Stephen J and Katz, Daniel SS and others}, + journal={bioRxiv}, + pages={048744}, + year={2016}, + publisher={Cold Spring Harbor Labs Journals} +} + +@article{pianosi2020successfully, + title = "How successfully is open-source research software adopted? {R}esults and implications of surveying the users of a sensitivity analysis toolbox", + author={Pianosi, Francesca and Sarrazin, Fanny and Wagener, Thorsten}, + journal={Environmental Modelling \& Software}, + volume={124}, + pages={104579}, + year={2020}, + publisher={Elsevier} +} + +@article{pope2003will, + title = "Will a healthy lifestyle help prevent {A}lzheimer's disease?", + author={Pope, Sandra K and Shue, Valorie M and Beck, Cornelia}, + journal={Annual review of public health}, + volume={24}, + number={1}, + pages={111--132}, + year={2003}, + publisher={Annual Reviews 4139 El Camino Way, PO Box 10139, Palo Alto, CA 94303-0139, USA} +} + +@article{prive2020ldpred2, + title={LDpred2: better, faster, stronger}, + author={Priv{\'e}, Florian and Arbel, Julyan and Vilhj{\'a}lmsson, Bjarni J}, + journal={Bioinformatics}, + volume={36}, + number={22-23}, + pages={5424--5431}, + year={2020}, + publisher={Oxford University Press} +} + +@Manual{r, + title = {R: A Language and Environment for Statistical Computing}, + author = {{R Core Team}}, + organization = {R Foundation for Statistical Computing}, + address = {Vienna, Austria}, + year = {2021}, + url = {https://www.R-project.org/}, +} + +@article{rahman2020exploratory, + title={An exploratory characterization of bugs in covid-19 software projects}, + author={Rahman, Akond and Farhana, Effat}, + journal={arXiv preprint arXiv:2006.00586}, + year={2020} +} + +@inproceedings{ram2013ropensci, + title = "{rOpenSci}-open tools for open science", + author={Ram, K}, + booktitle={AGU Fall Meeting Abstracts}, + volume={2013}, + pages={ED43E--04}, + year={2013} +} + +@article{ram2018community, + title={A community of practice around peer review for long-term research software sustainability}, + author={Ram, Karthik and Boettiger, Carl and Chamberlain, Scott and Ross, Noam and Salmon, Ma{\"e}lle and Butland, Stefanie}, + journal={Computing in Science \& Engineering}, + volume={21}, + number={2}, + pages={59--65}, + year={2018}, + publisher={IEEE} +} + +@article{read2015sizing, + title = "Sizing the problem of improving discovery and access to {NIH}-funded data: a preliminary study", + author={Read, Kevin B and Sheehan, Jerry R and Huerta, Michael F and Knecht, Lou S and Mork, James G and Humphreys, Betsy L and NIH Big Data Annotator Group}, + journal={PLoS One}, + volume={10}, + number={7}, + pages={e0132735}, + year={2015}, + publisher={Public Library of Science San Francisco, CA USA} +} + +@inproceedings{reenskaug1989environment, + title = "An environment for literate {S}malltalk programming", + author={Reenskaug, Trygve and Skaar, Anna Lise}, + booktitle={Conference proceedings on Object-oriented programming systems, languages and applications}, + pages={337--345}, + year={1989} +} + +@software{ropensci_2021_6619350, + author = {rOpenSci and + Anderson, Brooke and + Chamberlain, Scott and + DeCicco, Laura and + Gustavsen, Julia and + Krystalli, Anna and + Lepore, Mauro and + Mullen, Lincoln and + Ram, Karthik and + Ross, Noam and + Salmon, Maëlle and + Vidoni, Melina and + Riederer, Emily and + Sparks, Adam and + Hollister, Jeff}, + title = {{rOpenSci Packages: Development, Maintenance, and + Peer Review}}, + month = nov, + year = 2021, + publisher = {Zenodo}, + version = {0.7.0}, + doi = {10.5281/zenodo.6619350}, + url = {https://doi.org/10.5281/zenodo.6619350} +} +@article{russell2018large, + title = "A large-scale analysis of bioinformatics code on {G}it{H}ub", + author={Russell, Pamela H and Johnson, Rachel L and Ananthan, Shreyas and Harnke, Benjamin and Carlson, Nichole E}, + journal={PLoS One}, + volume={13}, + number={10}, + pages={e0205898}, + year={2018}, + publisher={Public Library of Science San Francisco, CA USA} +} + +@inproceedings{sadowski2018modern, + title = "Modern code review: a case study at {G}oogle", + author={Sadowski, Caitlin and S{\"o}derberg, Emma and Church, Luke and Sipko, Michal and Bacchelli, Alberto}, + booktitle={Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice}, + pages={181--190}, + year={2018} +} + +@inproceedings{shmerlin2015document, + title={To document or not to document? An exploratory study on developers’ motivation to document code}, + author={Shmerlin, Yulia and Hadar, Irit and Kliger, Doron and Makabee, Hayim}, + booktitle={Advanced Information Systems Engineering Workshops: CAiSE 2015 International Workshops, Stockholm, Sweden, June 8-9, 2015, Proceedings 27}, + pages={100--106}, + year={2015}, + organization={Springer} +} + +@online{shafee2015, + author = "Thomas Shafee", + title = "Protein coding genes are transcribed to an {mRNA} intermediate, then translated to a functional protein. {RNA}-coding genes are transcribed to a functional non-coding {RNA}", + year = "2005", + urlseen = "29-05-2022", + url = "https://en.wikipedia.org/wiki/File:DNA_to_protein_or_ncRNA.svg", +} + +@article{skold2022interrogating, + title={Interrogating paradata}, + author={Sk{\"o}ld, Olle and B{\"o}rjesson, Lisa and Huvila, Isto}, + year={2022}, + publisher={University of Bor{\aa}s} +} + +@online{sponk2012, + author = "Sponk and Tryphon and Magnus Manske and User:Dietzel65 and LadyofHats (Mariana Ruiz) and Radio89", + title = "Diagram of {DNA} in a eukaryotic cell", + year = "2012", + urlseen = "29-05-2022", + url = "https://commons.wikimedia.org/wiki/File:Eukaryote_DNA-en.svg", +} + +@book{steele1983hacker, + title={The hacker's dictionary: a guide to the world of computer wizards}, + author={Steele Jr, Guy L and Woods, Donald R and Finkel, Raphael R and Stallman, Richard M and Goodfellow, Geoffrey S}, + year={1983}, + publisher={Harper \& Row Publishers, Inc.} +} + +@article{stodden2011trust, + title = "Trust your science? {O}pen your data and code", + author={Stodden, Victoria C}, + year={2011} +} + +@article{stodden2013best, + title={Best practices for computational science: Software infrastructure and environments for reproducible and extensible research}, + author={Stodden, Victoria and Miguez, Sheila}, + journal={Available at SSRN 2322276}, + year={2013} +} + +@article{stodden2018empirical, + title={An empirical analysis of journal policy effectiveness for computational reproducibility}, + author={Stodden, Victoria and Seiler, Jennifer and Ma, Zhaokun}, + journal={Proceedings of the National Academy of Sciences}, + volume={115}, + number={11}, + pages={2584--2589}, + year={2018}, + publisher={National Acad Sciences} +} + +@article{storhaug2017country, + title={Country, regional, and global estimates for lactose malabsorption in adults: a systematic review and meta-analysis}, + author={Storhaug, Christian L{\o}vold and Fosse, Svein Kjetil and Fadnes, Lars T}, + journal={The Lancet Gastroenterology \& Hepatology}, + volume={2}, + number={10}, + pages={738--746}, + year={2017}, + publisher={Elsevier} +} + +@book{stroustrup2013cpp, + title={The C++ programming language}, + author={Stroustrup, Bjarne}, + year={2013}, + publisher={Pearson Education} +} + +@article{stroustrup2018cpp, + title={C++ core guidelines}, + author={Stroustrup, Bjarne and Sutter, Herb and others}, + journal={Web. Last accessed February}, + year={2018} +} + +@book{sutter2004cpp, + title={C++ coding standards: 101 rules, guidelines, and best practices}, + author={Sutter, Herb and Alexandrescu, Andrei}, + year={2004}, + publisher={Pearson Education} +} + +@article{vable2021code, + title={Code review as a simple trick to enhance reproducibility, accelerate learning, and improve the quality of your team’s research}, + author={Vable, Anusha M and Diehl, Scott F and Glymour, M Maria}, + journal={American Journal of Epidemiology}, + volume={190}, + number={10}, + pages={2172--2177}, + year={2021}, + publisher={Oxford University Press} +} + +@book{van1995python, + title={Python tutorial}, + author={Van Rossum, Guido and Drake Jr, Fred L}, + volume={620}, + year={1995}, + publisher={Centrum voor Wiskunde en Informatica Amsterdam, The Netherlands} +} + +@article{van2001pep, + title = "{PEP} 8--style guide for {P}ython code", + author={Van Rossum, Guido and Warsaw, Barry and Coghlan, Nick}, + journal={Python. org}, + volume={1565}, + year={2001} +} + +@inproceedings{vasilescu2015, + title = "Quality and productivity outcomes relating to continuous integration in {G}it{H}ub", + author={Vasilescu, Bogdan and Yu, Yue and Wang, Huaimin and Devanbu, Premkumar and Filkov, Vladimir}, + booktitle={Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering}, + pages={805--816}, + year={2015}, + organization={ACM} +} + +@inproceedings{wang2020assessing, + title = "Assessing and restoring reproducibility of {J}upyter notebooks", + author={Wang, Jiawei and Kuo, Tzu-yang and Li, Li and Zeller, Andreas}, + booktitle={Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering}, + pages={138--149}, + year={2020} +} + +@article{weissgerber2018we, + title = "Why we need to report more than'{D}ata were analyzed by t-tests or {ANOVA}'", + author={Weissgerber, Tracey L and Garcia-Valencia, Oscar and Garovic, Vesna D and Milic, Natasa M and Winham, Stacey J}, + journal={Elife}, + volume={7}, + pages={e36163}, + year={2018}, + publisher={eLife Sciences Publications, Ltd} +} + +@article{wicherts2016degrees, + title={Degrees of freedom in planning, running, analyzing, and reporting psychological studies: A checklist to avoid p-hacking}, + author={Wicherts, Jelte M and Veldkamp, Coosje LS and Augusteijn, Hilde EM and Bakker, Marjan and Van Aert, Robbie and Van Assen, Marcel ALM}, + journal={Frontiers in psychology}, + pages={1832}, + year={2016}, + publisher={Frontiers} +} + +@book{wickham2015r, + title={R packages: organize, test, document, and share your code}, + author={Wickham, Hadley}, + year={2015}, + publisher={" O'Reilly Media, Inc."} +} + +@book{wickham2019advanced, + title = "Advanced {R}", + author={Wickham, Hadley}, + year={2019}, + publisher={CRC press} +} + +@article{wilson2014best, + title={Best practices for scientific computing}, + author={Wilson, Greg and Aruliah, Dhavide A and Brown, C Titus and Hong, Neil P Chue and Davis, Matt and Guy, Richard T and Haddock, Steven HD and Huff, Kathryn D and Mitchell, Ian M and Plumbley, Mark D and others}, + journal={PLoS biology}, + volume={12}, + number={1}, + pages={e1001745}, + year={2014}, + publisher={Public Library of Science} +} + +@article{wilson2022twelve, + title={Twelve quick tips for software design}, + author={Wilson, Greg}, + journal={PLoS Computational Biology}, + volume={18}, + number={2}, + pages={e1009809}, + year={2022}, + publisher={Public Library of Science San Francisco, CA USA} +} + +@article{wilkinson2016fair, + title = "The {FAIR} {G}uiding {P}rinciples for scientific data management and stewardship", + author={Wilkinson, Mark D and Dumontier, Michel and Aalbersberg, IJsbrand Jan and Appleton, Gabrielle and Axton, Myles and Baak, Arie and Blomberg, Niklas and Boiten, Jan-Willem and da Silva Santos, Luiz Bonino and Bourne, Philip E and others}, + journal={Scientific data}, + volume={3}, + number={1}, + pages={1--9}, + year={2016}, + publisher={Nature Publishing Group} +} + +@inproceedings{zhang2016review, + title={A review of homomorphic encryption and its applications}, + author={Zhang, Lifang and Zheng, Yan and Kantoa, Raimo}, + booktitle={Proceedings of the 9th EAI International Conference on Mobile Multimedia Communications}, + pages={97--106}, + year={2016} +} + +@incollection{zimmermann2008predicting, + title={Predicting bugs from history}, + author={Zimmermann, Thomas and Nagappan, Nachiappan and Zeller, Andreas}, + booktitle={Software evolution}, + pages={69--88}, + year={2008}, + publisher={Springer} +} + diff --git a/lesson_plans/day_5/day_5.qmd b/lesson_plans/day_5/day_5.qmd new file mode 100644 index 0000000..86e5802 --- /dev/null +++ b/lesson_plans/day_5/day_5.qmd @@ -0,0 +1,994 @@ +--- +title: "Day 5" +author: "Richèl Bilderbeek" +format: revealjs +bibliography: day_5.bib +from: markdown+emoji +csl: vancouver.csl +jupyter: python3 +css: styles.css +slide-number: true +number-sections: true +--- + +# Big Picture + +## Breaks + +Please take breaks: +these are important for learning. +Ideally, do something boring @newport2016deep! + +## Break schedule + + * 10:00-10:15 + * 11:00-11:15 + * 12:00-13:00 + * 14:00-14:15 + * 15:00-15:15 + * 16:00-16:15 + +## Question + +What is mastery in programming? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## My answer + +To be able to express your ideas in correct and readable code +in an elegant way. + +# Express your assumptions in code + +## Problem + +```{python} +#| eval: false +#| echo: true +numerator = # something +denominator = # something +# denominator is not zero +value = numerator / denominator +``` + +How to do better? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Naive answer + +```{python} +#| eval: true +#| echo: true +numerator = 1.2 +denominator = 3.4 +# denominator is not zero +if denominator == 0.0: + print("ERROR! QUIT!") +``` + +What do we express here? + +## `assert` + +Express: 'I believe this to be true': + +```{python} +#| echo: true +#| eval: true +assert 1 + 1 == 2 +``` + +This presentation will not compile when an `assert` fails! + +## `assert` in action + +```{python} +#| echo: true +#| eval: true +numerator = 1.2 +denominator = 3.4 +assert denominator != 0.0 +value = numerator / denominator +``` + +Use assert extensively @sutter2004cpp@stroustrup2013cpp@mcconnell2004code +@liberty2002sams@lakos1996large. + +## `assert` references 1/2 + + * @sutter2004cpp Chapter 68: ' + Assert liberally to document internal assumptions and invariants' + * @stroustrup2013cpp (3rd edition) Advice 24.5.18: + 'Explicitly express preconditions, postconditions, + and other assertions as assertions' + * @mcconnell2004code Chapter 8.2: + 'Use assertions to document and verify preconditions and postconditions' + * @mcconnell2004code Chapter 8.2: + 'Use assertions for conditions that should never occur'. + * @liberty2002sams Chapter 'assert()': 'Use assert freely' + +## `assert` references 2/2 + + * @lakos1996large Chapter 2.6: + 'The use of assert statements can help to document the assumptions + you make when implementing your code + * @stroustrup2018cpp (4th edition) page 884: + '[13] Use static_assert() and assert() extensively' + +## Questions about `assert`? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +# Express yourself in readable code + +## Problem + +```{python} +#| echo: true +#| eval: true +a = 3 +b = 4 +# Calculate the Euclidean distance +# using Pythagoras' theorem +c = ((a * a) + (b * b)) ** 0.5 +``` + +How to express ourselves in code? How to do better? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Solution + +```{python} +#| echo: false +#| eval: true +def calc_euclidian_distance(a, b): + return ((a * a) + (b * b)) ** 0.5 +``` + +```{python} +#| echo: true +#| eval: true +a = 3 +b = 4 +c = calc_euclidian_distance(a, b) +``` + +We use a function! + +## Question about functions + + * What is a function? + * What makes a good function? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## My answer + +A function is a unit of code, that has a name, optional inputs +and optional output. + +![](function_cartoon.png) + +## About good functions 1/3 + + * @meyers2005effective Item 18: + 'Make interfaces easy to use correctly and hard to use incorrectly.' + * @sutter2004cpp Item 20: 'Avoid long functions. Avoid deep nesting' + * @stroustrup2013cpp (4th edition) page 341: + '[1] Package meaningful operations as carefully named functions' + * @stroustrup2013cpp (4th edition) page 341: + '[2] A function should perform a single logical operation' + * @stroustrup2013cpp (4th edition) page 341: + '[3] Keep functions short' + +## About good functions 2/3 + + * @lakos1996large Chapter 2.6: + Document the interfaces so that they are usable by others. + Have at least one other developer review each interface + * @martin2005joint AV Rule 1: 'Any one function (or method) + will contain no more than 200 logical source lines of code.' + +## About good functions 3/3 + + * @stroustrup2013cpp (4th edition) page 341: '[20] Specify preconditions and + postconditions for your functions' + * @stroustrup2018cpp I.5: State preconditions (if any) + * @stroustrup2018cpp I.7: State postconditions + * @stroustrup2018cpp I.1: Make interfaces explicit + * @stroustrup2018cpp I.4: Make interfaces precisely and strongly typed + +## Function parts by importance + + 1. The name + 2. The tests + 3. The documentation + 4. The body + +Your boss will rarely care about the body of your functions. + +## Questions about functions? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +# Making your code readable + +## Function name + +The **name** is the most important part of a function. + + * A good name makes it natural to use the function correctly. + * A bad name confuses the reader. + +## Function name + +> There are only two hard things in Computer Science: +> cache invalidation and naming things. +> +> Phil Karlton + +## Function name conventions + + * Starts with a verb + * All letters lowercase @van2001pep + * All words separated by underscores @van2001pep + * Common verbs abbreviations are allowed + +```{python} +#| echo: true +#| eval: false +print_hello_world() +``` + +## Questions 1 + +Give the Python function name to determine if something ... + + * is zero + * is bigger than zero + * is a number + * is a empty list + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answers 1 + + * is zero: `is_zero` + * is bigger than zero: `is_positive`, `is_bigger_than_zero` + * is a number: `is_number` + * is a empty list: `is_empty_list` + +## Questions 2 + +Give the Python function name to determine if something ... + + * is a list of strings + * is a list of integers + * is a list of integers of only zeroes + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answers 2 + + * is a list of strings: `is_string_list`, `is_text`, `are_strings` + * is a list of integers: `is_integer_list`, `are_integers`, `are_ints` + * is a list of integers of only zeroes: `are_zeroes` + +## Exercise + + * Fill in the blanks + * Multiple answers are correct + +## Question 3 + +```{python} +#| echo: true +#| eval: false +def ___(number): + return number == 0.0 + +assert ___(0.0) +assert not ___(3.14) +``` + +## Answer 3 + +```{python} +#| echo: true +#| eval: true +def is_zero(number): + return number == 0.0 + +assert is_zero(0.0) +assert not is_zero(3.14) +``` + +## Question 4 + +```{python} +#| echo: true +#| eval: false +def ____(number): + return number > 0.0 + +assert ___(1.0) +assert not ___(0.0) +assert not ___(-1.0) +``` + +## Answer 4 + +```{python} +#| echo: true +#| eval: true +def is_bigger_than_zero(number): + return number > 0.0 + +assert is_bigger_than_zero(1.0) +assert not is_bigger_than_zero(0.0) +assert not is_bigger_than_zero(-1.0) +``` + +## Question 5 + +```{python} +#| echo: true +#| eval: false +def ___(my_list): + return len(my_list) == 0 + +assert ___([]) +assert not ___([1]) +assert not ___([1, 2]) +``` + +## Answer 5 + +```{python} +#| echo: true +#| eval: true +def is_empty_list(my_list): + return len(my_list) == 0 + +assert is_empty_list([]) +assert not is_empty_list([1]) +assert not is_empty_list([1, 2]) +``` + +## Question 6 + +```{python} +#| echo: true +#| eval: false +def ___(my_list): + return sum(my_list) + +assert ___([1]) == 1 +assert ___([1, 2]) == 3 +assert ___([1, 2, 3]) == 6 +``` + +## Answer 6 + +```{python} +#| echo: true +#| eval: true +def calc_sum(my_list): + return sum(my_list) + +# assert calc_sum([]) == 0 +assert calc_sum([1]) == 1 +assert calc_sum([1, 2]) == 3 +assert calc_sum([1, 2, 3]) == 6 +``` + +## Question 7 + +```{python} +#| echo: true +#| eval: false +def ___(my_list): + return sorted(my_list) + +assert ___([2, 1]) == [1, 2] +assert ___([3, 2, 1]) == [1, 2, 3] +``` + +## Answer 7 + +```{python} +#| echo: true +#| eval: true +def create_sorted_list(my_list): + return sorted(my_list) + +assert create_sorted_list([2, 1]) \ + == [1, 2] +assert create_sorted_list([3, 2, 1]) \ + == [1, 2, 3] +``` + + +## Question 8 + +```{python} +#| echo: true +#| eval: false +def ___(my_list): + // Bonus: assert __ + return sum(my_list) / len(my_list) + +assert ___([1, 3]) == 2 +assert ___([1, 3, 5]) == 3 +``` + +## Answer 8 + +```{python} +#| echo: true +#| eval: true +def calculate_mean(my_list): + assert len(my_list) + return sum(my_list) / len(my_list) + +assert calculate_mean([1, 3]) == 2 +assert calculate_mean([1, 3, 5]) == 3 +``` + +## Questions about function names? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +# Do work in the right order + +## We were all kids once + +**Imagine** you need to write a function, for example, +to determine if a number is prime. +**Remember** when you just started programming: +what were your first lines of code? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Your first code + +```{python} +#| echo: true +#| eval: false +def prime(number) + for i in range(1, number) + for j in range(2, i) + if i %% j: +``` + +What is the problem of writing this part first? + + * Do not fix the code! + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Next answer + +We overload our working memory. +We do too many things. +Instead, work from big to small: +write the tests first! + +## Test-Driven Development + +Writing test first is a software methodology, called +Test-Driven Development. + +## Effects of TDD + +Test-Driven Development ... + + * makes developers more productive @erdogmus2005effectiveness + * increases quality of the code + @erdogmus2005effectiveness @alkaoud2018quality @janzen2006test + * There are plenty of costly programming mistakes documented! + * helps shape the project architecture @mayr2005projekt + * helps better modularisation @madeyski2010test + * works great with Xtreme programming and CI + +## For us + +We 'only' use tests to express what we expect our function to do. + +## Example question + +```{python} +#| echo: true +#| eval: false +def is_float(number): + # Google this! + +assert is_float(3.14) +assert not is_float(42) +assert not is_float('Hello') +assert not is_float([1.2, 3.4]) +assert not is_float((1.2, 3.4)) +``` + +## Example answer + +```{python} +#| echo: true +#| eval: true +def is_float(number): + return isinstance(number, float) + +assert is_float(3.14) +assert not is_float(42) +assert not is_float('Hello') +assert not is_float([1.2, 3.4]) +assert not is_float((1.2, 3.4)) +``` + +## Question 1 + +Write the tests for a function to determine if a file exists. + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer 1 + +```{python} +#| echo: false +#| eval: true +def does_file_exist(filename): + return filename == "day_3.qml" +``` + +```{python} +#| echo: true +#| eval: true +assert does_file_exist("day_3.qml") +assert not does_file_exist("abs.ent") +``` + +## Question 2 + +Write the tests for a function to read the content of a file +into a list of strings. + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer 2 + +```{python} +#| echo: true +#| eval: false + +assert len(read_file("my.txt")) +assert is_string(read_file("my.txt")[0]) +assert is_text(read_file("my.txt")) +``` + +'a list of string' can be called 'text' :-) + +## Question 3 + +Write the tests for a function to read the content of a file +into a list of strings, yet skipping the first line + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer 3 + +```{python} +#| echo: true +#| eval: false +# Save space +f = read_file_without_header + +assert len(f("day_3.qml")) +assert is_string(f("day_3.qml")[0]) +assert is_text(f("day_3.qml")) +assert len(f("day_3.qml")) \ + == len(read_file("day_3.qml")) - 1 +``` + +## Question 4 + +Imagine a function called `create_test_table` that returns the text below as a list of strings. +Write its tests. + +```{python} +#| echo: true +#| eval: false +First name|Last name +Alita |Colbert +Brandi |Lovell +Corrina |Georgeanna +``` + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer 4 + +```{python} +#| echo: true +#| eval: false +# Save space +f = create_test_table + +assert len(f()) == 4 +assert f()[0] == "First name|Last name" +assert f()[1] == "Alita |Colbert" +assert f()[2] == "Brandi |Lovell" +assert f()[3] == "Corrina |Georgeanna" +``` + +## Question 5 + +Assume a table as text, including headers. +Extract the `n`th column as a list of strings. +Use `create_test_table` in your tests + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer 5 + +```{python} +#| echo: true +#| eval: false +# Save space +f = get_nth_column + +table = create_test_table() + +# A column has no header +n_rows = len(table) +first_column = f(table, 0) +n_elements = len(first_column) +assert(n_rows - 1 == n_elements) + +assert f(table, 0)[0] == "Alita" +assert f(table, 0)[1] == "Brandi" +assert f(table, 0)[2] == "Corrina" +assert f(table, 1)[0] == "Colbert" +assert f(table, 1)[1] == "Lovell" +assert f(table, 1)[2] == "Georgeanna" +``` + +## Question 6 + +Split a string into its elements. +The elements are separated by commas, e.g. `"A,B,C"`. +Remove the whitespace at the edges. + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer 6 + +```{python} +#| echo: true +#| eval: false +assert split_str("A") == ["A"] +assert split_str("A,B") == ["A", "B"] +assert split_str("A,B ") == ["A", "B"] +assert split_str(" A,B ") == ["A", "B"] +assert split_str("A ,B ") == ["A", "B"] +assert split_str("A, B ") == ["A", "B"] +``` + +## Questions about function testing? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +# Make your function usable by others + +## Adding documentation + +```{python} +#| echo: true +#| eval: true +def split_str(x): + """ + Split 'x' into its comma-seperated + parts. + Assumes 'x' is a string + of at least 1 character; + will terminate the program + if not + """ + # Do it +``` + +## Questions about function documentation? + +:woman_technologist: Write down in the HackMD! :man_technologist: + + * More on this tomorrow + +# Writing the function body + +## Question + +When is a function body good enough? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Writing a good function body + +If all test pass, it is good. Done! + +## Speed? + +> Premature optimization is the root of all evil. +> +> Donald Knuth + +## Questions about writing a function body? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Exercise + +Do + + * `Day 3` -> `Exercise 1 - functions` + * `Day 3` -> `PyQuiz 3.2` + +# Expressing a set + +## Question + +What is set? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer + +'A collection things' + +For example, the ages of people in a room: + +```{python} +#| echo: true +#| eval: false +ages = [] +ages = [8] +ages = [8] +ages = [8, 18] +``` + +## Question + +Write the **tests** for a function +to add values to a list **only** when a value +is not present yet. + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer + +```{python} +#| echo: true +#| eval: false +f = add_value_to_set +ages = [] +ages = f(ages, 8) +ages = f(ages, 8) +ages = f(ages, 18) +assert ages == [8, 18] +``` + +## Question + +Would it be possible to express this better? How? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer + +One can use a Python set. + +```{python} +#| echo: true +#| eval: false +ages = {} +ages.add(8) +ages.add(8) +ages.add(18) +assert ages == {8, 18} +assert ages == [8, 18] +``` + +## Reflection + +Classes ... + + * can be built-in, e.g. string, lists and sets + * have a clear purpose + * allow us to express ourselves **elegantly** + * help us to **maintain overview**, + e.g. we know things about elements in a set + +## Questions about sets? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +# Expressing a dictionary + +## Trick question + +Write the tests for some functions +to work with a telephone book. + +One function allows to add a name and phone number. +If the name already exists, overwrite the phone number. + +## Naive answer + +```{python} +#| echo: true +#| eval: false +# To save space +p = create_phone_book() +p = add(p, "Aardvark", 1234567890) +p = add(p, "Zziiz", 1234567891) +assert get_phone_number( \ + p, "Aardvark") \ + == 1234567890 +``` + +This will be a *tour de force*! + +## Better answer + +Use a dictionary! + +```{python} +#| echo: true +#| eval: true +# To save space +p = { \ + "Aardvark": 1234567890, \ + "Zziiz": 1234567891 \ + } +assert p["Aardvark"] == 1234567890 +p["Zziiz"] = 9876543210 +assert p["Zziiz"] == 9876543210 +``` + +## Questions about dictionaries? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Exercise + +Do + + * `Day 3` -> `IMDb exercise - Day 3` + * `Day 3` -> `PyQuiz 3.1` + +# Using system arguments + +## Problem + +Imagine you have written a useful Python script. +You want to run the script in two different ways: + + * Quiet: no output + * Verbose: with many prints to the screen + +How to do this? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Answer + +**Call** the script differently, for example: + +```{python} +#| echo: true +#| eval: false +python3 my_script.py --verbose +python3 my_script.py --quiet +``` + +## Exercise, little help + +Write a Python script that ... + + * when run with `--verbose` states it is running verbosely + * when run with `--quiet` (ironically) states it is running quietly + +Either Google or read the next slide for hints + +:woman_technologist: Write down in the HackMD! :man_technologist: + +## Exercise, more help + +```{python} +#| echo: true +#| eval: false +import sys + +print(sys.argv) +``` + +`sys.argv` is a list of strings. + +## Answer + +```{python} +#| echo: true +#| eval: false +import sys + +assert len(sys.argv) == 2 +if sys.argv[1] == "--quiet": + print("Quiet") +elif sys.argv[1] == "--verbose": + print("Verbose!") +else: + print("ERROR! Unknown argument!") +``` + +## Questions about command line arguments? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +# Conclusion + +> To be able to express your ideas in correct and readable code +> in an elegant way. + + * Express assumptions with `assert`s + * Use functions to make code readable + * Use tests to verify the code is correct + * Use sets or dictionaries when this fits naturally + +## Questions about today's theory? + +:woman_technologist: Write down in the HackMD! :man_technologist: + +If not, apply this in The Project: + + * Use `assert` + * Split code into functions + * Test functions + +# Done! + +Go home and rest :-) + +# Breaks + +Are important. Please rest! + +## Break 1: 10:00-10:15 + +![](forgetting.png) + +## Break 2: 11:00-11:15 + +![](dilbert_tdd.png) + +## Break 3: 12:00-13:00 + +![](dilbert_agile_1.png) + +## Break 4: 14:00-14:15 + +![](dilbert_agile_2.png) + +## Break 5: 15:00-15:15 + +![](dilbert_tdd_2.png) + +## Break 6: 16:00-16:15 + +![](dilbert_tdd_3.png) + +## Done + +![](dilbert_tdd_4.png) + +## References diff --git a/lesson_plans/day_5/day_5_schedule_reminder.sh b/lesson_plans/day_5/day_5_schedule_reminder.sh new file mode 100755 index 0000000..f970d5d --- /dev/null +++ b/lesson_plans/day_5/day_5_schedule_reminder.sh @@ -0,0 +1,15 @@ +#!/bin/bash +echo 'espeak -s 120 -p 10 "start to work"' | at 9:00 +echo 'espeak -s 120 -p 10 "time to have a break"' | at 10:00 +echo 'espeak -s 120 -p 10 "back to work"' | at 10:15 +echo 'espeak -s 120 -p 10 "time to have a break"' | at 11:00 +echo 'espeak -s 120 -p 10 "back to work"' | at 11:15 +echo 'espeak -s 120 -p 10 "time to have a break"' | at 12:00 +echo 'espeak -s 120 -p 10 "back to work"' | at 13:00 +echo 'espeak -s 120 -p 10 "time to have a break"' | at 14:00 +echo 'espeak -s 120 -p 10 "back to work"' | at 14:15 +echo 'espeak -s 120 -p 10 "time to have a break"' | at 15:00 +echo 'espeak -s 120 -p 10 "back to work"' | at 15:15 +echo 'espeak -s 120 -p 10 "time to have a break"' | at 16:00 +echo 'espeak -s 120 -p 10 "back to work"' | at 16:15 +echo 'espeak -s 120 -p 10 "enjoy the rest of your day"' | at 17:00 diff --git a/lesson_plans/day_5/render.sh b/lesson_plans/day_5/render.sh new file mode 100755 index 0000000..9b82282 --- /dev/null +++ b/lesson_plans/day_5/render.sh @@ -0,0 +1,3 @@ +#!/bin/bash +quarto render day_3.qmd --to html +quarto render day_3.qmd --to pdf --toc diff --git a/lesson_plans/day_5/styles.css b/lesson_plans/day_5/styles.css new file mode 100644 index 0000000..d4b0ed6 --- /dev/null +++ b/lesson_plans/day_5/styles.css @@ -0,0 +1,7 @@ +.reveal section p { + font-size: 1.75em; +} + +.reveal section pre code { + font-size: 1.75em; +} diff --git a/lesson_plans/day_5/tdd_cycle_2.jpg b/lesson_plans/day_5/tdd_cycle_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dd89fa85ab791568b15502225693f2dc79743637 GIT binary patch literal 42509 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∾~ zUq5$V;cjwK-KT{!I!Rmu*V87cSZtAr8Yaedi@V9>-gO_}{n{mxj-4f}KN`^QXRI5H zrlBNNyN<4fC+sW^Uo~3@V{Z(g0Dxwj?K6|ABd5P$^R-d(QgdAC734{6gfJ|QCrk+n zz7DbEjfKyaEn#}6%P@ewH#fNZm3cWb4_7K$7y_Q%sTG+OS4=bd?h}667}jZ&nZnO% zvOFBB(mHLFLb~6Hqcp>!-{0iVI5PzaRG~8H3eu^!WcC<-ib3K`wpscDU1Blm$>BNI z`N=yO8@7v9@hd{CEsow}Zm2deWsO8uUug`R_Uj(Z>-OsjsWTlbu-UONZzmDlwIR!- z+GsXh_`AmE(s!!;{lA#o9{p(9E|tG?H?~@XK0C@S{{enEwx4qMB7M$mZDzrf>wXPuCq;$j$eVN#nt9E&javCp58U=>|6&b^y! z@dF68?hH_v{37WTYG)R{+^_S)s@ADr1gFhRxpL>~*VMkZhxLXeMyq?C>)*$&5R-m#T_1)T%uxiv*TaL}|wS&dxFDEs2P`)A*IxUg|-%Vbifzf>$w3gFqg?!d_ z8B6ADL4fv7iSEDV-_5%h3RV@Miu2o|u`A2ck7ZIvSPQ$&DV)lmdO;NC+1tBmSJP_S zzSO}NC|RU^!MFEci!x^$BCWkOR<;9X%#P_L58~UojXw_!Wwv%0|40jFEt*|jVUPU} zF(!GIHFXSHF>-#{u;21mr~iYJjIZG)SuNe;* zvfBruf1HlAe;8q%H#y2o{+y7hgFqH`x0s&N(^r9ogbD++PHUZX&Wvy85B(*lt?P04 z(xjEiabboL2DHpKetd>eA0wxkmpgFa+0OmXol5~z1BUU8u9|i<>@oo|bdTjt>BwA} zV&iwRPK`q+`Qku9R#TqI*QkB(1T7eMhU_Oi zdW{i}uxN4QP91g-8+nBdKR6i#R5cJlv}g=cgNxmEV-}H^O9G0S8*`Enix5ptgn?(; zYox9pX}A*VjUJF_R1x9>1AD5eNXoDN85te&m*o(4|Et@v)*3ZpF6(k^@EH12`P zho;=`f27*OmoAi7KQ&ltEEP%LkDSs!>rAe#3+AJq z(jBUPCDNd4Umvf?@;-v}#nrHxSsh-|s9W2$C7v+n?;d5~i3^m4fV2u-eRJ=Kffy;U z1X8DdOY>;5Yi`~&o-9;rDQwu%WP&djE_nk?Wdv##C$ zQj7ADQ1Wn*?HjPAUYr*0{+zKh=V#oLcfT_EZXnnFni&~;o{#{S-oD_T33yN=5>yp& zIhFxic5ozx#@vTYr-%5s;75{O{108;A`EAPj%N8%#bmecf@I`%SqmSHM3Mc2P3i{y zJT2U`wzp_p=?Ub@65a-=@OX3^R>14sFo)@z)9W!l&*{||kk7ckPFUTDx|mz66BXa9 z?Ox4(e!vR$Y-e*zKD#)r?K#!i>cuWW{`!>tPs*@)vA(|Cq_UyjV*?`2Bwppox%!M~ z{?A;3@99|p=FGP5%>q7;>8xYdC&vfK)S#bq4#!o)A*6;%P3JU21YWIsBMNkz1nbFU zhXB4qyps;+9UVRM-1L)i=K8YaAWnSgQ1G;BcEQN`}y} zdAZ)1P3}5exc@haX(H&NBiN{%(I1K|`b{EUUN~a8IF#frB`MA=IF!4eirMij6I)CP zC|=Dw$(nZZow zT?6{_Pl~TWCDVIHM|HnR%o`(qeO>6&6XQUL<&?P}PLKCWvR%<*2F*z)DG;u5Kr}zVZe%)It;-`#K_7cR3S>$I}GUJ!y zkQ9c@SxDvTyS8;1M(CQxMt1AB+^RxxZdM^jg0y+N%g?g-lNxOx?Sh-wa0T~?#lp~u zArpr^Xx*^OWIN?kRo~CZk?GCN-y}q&v0!GEdbx4L+2(1>hLm+;-H=?lTZ`j0zm|_J z8&llkkz)su|K*zfUnd3fyOtJzKK$Iw%9%ogyJK;IeY{;MTpTe)rm!urFEd#Dn`C0) za(mGU=WUhy20j;L)ai3u{tbS3B{0`N)v~yX-i#W78u*rcDgFe4Uf>Lt`o& zR{g=d2dBxpk9WrVDC?s#sJz=Wu}l z3$N5vUHrEbm;H}pY{m;!Fz+#+NIvb8ENOP;Xq^n&$WrZtU0j0{79pN35R*$W=e_!M zVRD83Co6w;bUg-YI#4{;HK{v|lBqA8nZ*hf`zQV;A#(2xT$u8>xNWh4RMUv8Lp4Mn zCFLFHnoQ0-7zFZ0V^%4E_=bzHnn{|T5PbG@^h1;W!GDF7#?;8E$sOkGS?hCjoZl~FwKkzR&+w6bJm=_BzrHZ@@eRz9ihVJS3awOb{5^) zDmbvj#Euk$96tfX3f`@jCotZ03KbO=T>bifa=lR&fFG8vE z*kTF&OGw&%o;^;ZmW7-XIN1pl&DhKjW#qa#3h+9-6Y(+okF5YVKL|qDg%}$OI!^bA zHL85Kx3lX!sK^B2Y^kS-`%C=%kILO`0K;lsIQ(m}Ypf!uC+=YWu6J zYaLaL5AW0PrFdPhIS`|2ZK-7~bnMzU4Oq4KO|pFv zl2|XA+cUy4$u6)yzpcX=c(t&Dr}Rk4j>#hs7V0R3L6TPdC) zW%Dihbo$OzGI5kfz=Jp*2izA$mYWZBY>)-qaZ{!gb&(I_WG!5^%71lk5A2djU}EGl+|Dv@CuHjaTSHh?|Y0{?gL^we&rP#|Zh|1t^z!tda1W3{jO5 z7+isJ0^>CdYPPRiwL^cCFdhgA%?Es{7!dH*JIN9GkTt^bb31!SWyP!r6~q4!A(kmP z7)Ui(lJ3OI|HR>aXr(~`^y|iasDbsANJD5Z=q@Q~Aa!Zvs11Ww^FtMhJLE#ezJK^8 z`N?X)CIVuXQedc&6H)43CR}w+pL8Wyk@Xtw`l7XWi<^Ps71G{{ibu1Y{a}aDgwJD< znVbefX>+t5yWYnF?a$$|rJiL#4d{D%&uos#0`~U&;KksZI`wk!!;27z-0h%S3+1Dy z+5Q25&0oJsSo~>nWGVD;LF;&E`R2LDn)b&XIi1wwLX>=C`7S0$nx^Sc-hM7?;@4#( zhVA2;&ei|zw!#1G*U?PyC_f(OEq_iw&3+gI?gOP!e55dXG)MQu2mJ^;?w)7ON?2>&;5xG+ z-A-(fk>ec-8&&&f8`AIb_>b%j1}9qwg~}AKd8ThF1j2SF*R^BVzUiPSgHKJD5W|@a zaxb!-?_cbpG4}b=PyYY!=JKy@G|L?cf}^ChaYoRi*vt^#>&g@HCzsG-8PKZ>hLN)L58YdojgWVWAH{~9b44k2T(1n(mQ%*Z6}LvB2sOMh^6k;EnsgS|L2(LIEb&gHU%x1lK9|1zB(CJGdLKn2D`)GH0oKbl z3GZCQGr{d$ywI5B^xp2aURJQ7@bRpj z-_t@w{c@{CrChXhdjFig;|gC%sJtPw!sz(M3dcXqO|p`jP0{9tUAg$4Yr{vnS5A9< zhnkA_Fg<+2I(_7+t3E&80XL4))(L{a>E^7#mhJH{!)J=0wtGKC8TBG3wBz5DaD9m% z#VMO9+@5M>&bY))+jhlkiAP$>?nxUj%MPpWnXS?ctI6?wUy&EPDLd#(DaLkoekhz}KDo4zk44_m3496mcJ}DlYuv^xrBnlUAGMPdo)WsPKK#@KCplury4K5dv18 zSd^s|gD^eCTQq1Dt)Cg@FRq@J-49mit~P#JE6KBB`ACq`*sj83N!Xygs~x!nYTEfC zN#R+vR4D#U5?R~7_+$~Kc9}BPk1p%6_9Gbkh*eY%t1kWI(O)Z}G8$%Q?TMRolR%F- zKGWdL`%*v4v-=ol>Qxq-yYhD!4y8U!IQ-RipDgRLapVwL0xn$VeNWHlp0Un0oh^$y zQwq|e&3(tuZ87wvE%NiT)9604*q<`NY=V)Y4!BS8%6_SwN@*%aoUiH*I-qdfA%{rt z@R`v+xt{-8s(YrWj8DQA@vojq#F2hHq>wI@x5(t4xlx;Cy(;fWUdC08>F_P54bbfE z-A;6HWLsx5BgB1Awc7j9`KKZfM&M;-`LI+{*omNSv8y9MR98Q*;V5z091|En*teku zMrU;ds@)go_5w`4U+xmkWdV2CH7YK>MkiIi!*dvlU^|q$OcwGPKlgij>hzmrwyc06 zzhmG~*u2^mDc2fb`i1>1K6Cy+00GMdsT`nm-u_JzHaBH`{5h{Y@%h^p=D1=qhOi! z;pO0t1_F(n{`KRpp9X6-I|K4l2d*0W|Dvac12x;U5vX2lEM3|~?R$@Yu9W;Fxt6%%#-OKJLurw$23Y-fYrzzW1E+ zI8ee4L1tUW!Wp3~`+nB<>DTMbn*)V?waxtgo`~`8rTL*K=IWp5zQa8q(MaIQ#?gCkk zc75HCr@r@UN!f9G_m3_P#iwy|h=HTi;(q3Mw>R~Dz?c+PJ?@y^uchCW%q)MiJhsHmHa zNI*;0ckB|Pu)*0SI;n*f6sw&kAzSr+D?S%hD-qFM7hg7@3lx9Mfct~cg|)~_nU>!q zsZQaR1$ym=N`(qXA^Qp(t0y(=BPSJ!#cQ9R2<|mT9Fv~%HddSZ%CZnv1FKa%1=Ewd z&nnxk_L*ZRGBW!pQuPTD!*RO}^+!NfvLnckK~S zPSWA+wndNO9?`dv$f;`;a?R}oPzGy3J|A$(x@H}rJC<+lQc&ypsgD&}NpQ_Q$r^cijZpI`|1(&3?VH^SU`{#Dxa~lIwqrtr-vUsc_!*F*RW^&}t=_N_1LW ztTq*}7)2O)B|o7T9=kKAB);z98dYqEf}`7mb_~@{1E2mTi8prBRF+}?IA!42@*w-+ zXWNo;a!{>WbfwTx+lOV>4=&b~z0;Pr9PLV963sUQ+d7FPKE}$g)k@9=fx3XNS%IzP z_3mOc)8w9 zbib?5DCiZrXD>7+g>bCc%;DeuGTcD6kWtj1hvhUiYZWTFTJbaMrOkQvqp4{ z4WEHv>-;d-y;~k520S@1%l7Rmcmxpvr^p>AwJ`5M7w+^}cymDXLxsN+RlmReaec3= zxhsEbWX1sNO}6QzZPVdxvti}uu*demzucj#FG8C-Q;+X^XDCMe^4jGO1HfFN!te@# zXfr@?zexlv&yb_df8(nzxPglht305}Io9tsPAoe_o0p=Pd3np6-=^T+IDpTgtB!!) zzSYC%G~c!71y2k(0MXU~>Al1NG^Y-&(~P7`?*s6MeF8(~^&KOE0lc4l_`$%&dO=uv zdT6q`*yjbP$yD!el6Ok%b7epCy~Cf4<^Uf+ingAZBkq+a4jzyXq6|nSpN`>1a+Cx7 zdo^8#b<05xDVb?4Y$$xEeuUI@2R@}6f#Rq|02?#2>4R9#$QD2Uxv2=A;#vT@oK_M7>Fm zYky zI=zZ`Y+0UEKd6#i{)9X+YT8t#UAL zQKo1@I17uGA=q#5W&xQTX?6hy_7ePkZ{e|wd4ZV;N=Xu+s@g>G=o)r2SGoT7#3xZ1 zV+!v^jIZUsfd0xaTUpCD(xBfY_PbbhyAh5cM{?r5|@6Khz@J+ zC;0RvgsxWu&u>@<3c5l}ZtV9c+i7BHx>-BDR=9vo-{?Z!{o!v4un zTHAE?w2UxcNe^wDmuHMG`SGlkaiB>*Tw1-(uM%Ra46hHA8L8--)OpG#A)(tb8W%2e zugeVkk}QUQwA*BH)hpXD3aYd+V!rO5ii>uv;MBVJ=r~qZaC&4KgTg7fYOnK|d$vQ9 zYCjCuW#yiT)rKLD>Fmibcx+Q3i^1jq<6;y~-RWb@H9s;_5o?IrsU{#V1wP2Ak#XX+ z93pzlC%O~v%tXkPaOevFKkcZ|{*j~L&m46rDh2M-;MUEu7U|4QvUsh3zJd=l5uV!H zEXbe(T(`Cc*v06893vyAX?}4Lj%zLS>{hgD?>es(3v_fPdZj+(An8}ilZ|oB^Bv_x z@1#za6%BYT(M}hnZA2p*p7@~VWT?JOJ0slaUjWvZ>noJ$-b*ULodXN8OF2F@g$xA( zqBIS@52U^Usl;cQfF+x94Lg2yW|U^ruQT#ZVn@mokGjMiK9jIcd~Vf=e^bC)x;?og zlqSFoL_@w`Lz-?)})Bw*9<*jly@QHA_4}mTmK~6 ze^w|VlEi!~(v|P7?zCIam6SgIBjy4~;3wGNm5uj*7}Cw!dBvUPs=@%Okz)@sw#}23 z4V>-%AT!VqXAFB7dlbp9eqvrI!@x2z)r6N^y9W%@63?`zZUmLpD97{hO>f?cogVc_ zy<6Es?@<{Pnxr$$Wo7q%uWJG&uh+fQ*KJNHQs#};Y}-z7N#lmom=6`y{1^k7r~62q z`{-QWBdYIG`q}HI5gVRIkMWXDds?ELA;Pj{_gU%rxQ~IP!->E&qPz?pziXnRc-^4- zC3;=jqEow7u&(YytGUWuF~!n=)r9nk&YER6V}RyY;# z*tS(7gBY097Np0doId8BZtB((J4-d1&t@$PT4KOySq(mkU}Yow(90qTk-r|jf=a}C zj@i3RSf%5l#*4ZN1yLhQXrl{DUskyCv=3Q?o1*mv?*at%#5BaN3HNJ3n?1KqR=q>aMiM_}kCwnaHY;;F0#F-6bGf{xW1@`N7{vze4ys~6 zGGF|sHVWgp)~SrAkPuC)>xpF&EgA&3pClM(cCn{ zJ0iDOu=Lf-)wvOrW4G$Rafna54IwP%uUFWhxf5Dx_BIv7HWB{VewnMOO|SdMFlbgj zk=L*4b$RNCR3~pf=)=kONxMt)x5G@e?7Sw6OWw9-)4s#jrCIPffJcf=gIoj}A+5`W zu1~COU{e&3#WL>PMz`mfHQIJaMScrTd!u9+Ui} z3?X*Azbs=t9d_$GPFx|l6`ni(f(4T}_HJ;)r=H`Rr%MaRA@LirLtOR)QZr+l6me~6#{ zF^3K>IQzD=Wdt6f5d;I$FgGg2%ZS{tCX?0Q0BUp7_)|Ls%xjqa&DW_DSO)$l;5zO4 z-sCOd(r#Q2k#a0lz>B3RqJC=U`mE(AQAf03?N^A&NVe8~Z75$|%neRfd#c#h7N@2C zsuK}mJy7%+y}D!vix-#Qo1Hl#@9gd)`#j}%b1c|cJD@h>WqnDdZOfZ25wtPHRa?1w z8-GJt$l%?$RP$Fgn!}No`l6a9Q-tYXf((Po|?62y6PNSs-IFx9{i8fGog(BkMMw5KbS$)$Y+vfS!;ZkEqxS)%K1dDYq zY9(QaL9*mN#4ahe-L6`o$HgA^(Iu+xa9G|{z{hp4#l>M0u(i}SDLcE)6>7aMBb@-q zPKKywtRPv{=7%uFF4gWdLu$R zgc$dL3w}AU>q(?Xx8>6xqI_$<5<)?s*wYJnhuZO#n(aS*mnT4xB#{*%^>uxL=jBMU zAoJT}v7xzZ6H6-hC35*{3~aPBEclMzd(UJvV%?8R^hVFqHd*?9lMusQxYKm_*gM`z zcykgn|D|U!`;^+xY}=J{`LEaY=7EmVek}(K*7l{U?IMKmX11WqirY< z#Tpg&DO$=;X?lP)DmFsBqc&c7*L{%k4QEwq=>Vjb1`RZ-R0&THxxqe5c8l4*24#h7nSjIg3qM;xEf6!qFrYoed--U z`N5yiC_@z<4Hiu0U6XC5L?H*Xz?UxdKB?umCd>?0Uv7$%qRhocj` zxnhe;*gZsPL>C%`T&To9@0#h%LIxuOZ9KG|mRc7r%Ew2-yZh%<-m`YI7#EgOT=~{! zkLJ>W)QHLuDX} zkZ!1zwmSz8o|`Z(m9Qhshh7+?b|I$1#<9?&wEUHFkgCISymF#o0M?pE>-!#{Qghrg z`9zT4$L&3=8o^=gEaME=RpK*nKZ>-W5v~uD>hV0x6J$FsQWn+3D%993+oMZOLQtG~ zQgDgOrw&Vd9#;EL`OVv!gEbR`VunKfQj475Bhr;?A!!G+X)CFf9q`6op>Virrhs%u z%?an;S%`yzRnXTQ1A<5soaJ79jnSMC@O$PE9L99BbDdPXEb;N&%rEWuGfpSH!ageD z-CbRR&j}&>oR=6a`7S9W-+;Ynv`S}3<w0WSsN4(ddrw{#*M*GjXv@CRhvBFfEt1*`Am?qH%MetNMz9OnzY2; z9-U(jX?fH*>Jbu|#UyQ5-NWf(Cesp(um&L=keD^|s zmYhOAX$xz^MP;mDu19dl$)<(L98l(PL}&3Re7|c+;!Ifb+lGiYA*+2NJ9l~X9Wu?a z>1lUTD;)}fNX?B?WUD9wskWnqS@&k&OVlYU`dfV#Br z{y}Lk2$^8$MOz;ZTLyP}>B2r+2u;Xk&2Ag-TiTN>HH2ecE~-3VpXE*M^N}b6MU*To z-1`L*Pe~m&C@;a7AseLM?VW%$H;Q8BM0NX?MaYZ0Hf#fw=P>n{#NAGfYQLsYy3MAw zq*j=o~07gB}Zk6d%YuNNwu|1qw!4p3RkP&ba~_ZB^eTD61nMAI$hLl9 zq2min*5dKmNDA@X=uky^TX=yRHFrNMKMC$yZQ1Tbt?gg5;a#&<--6r?xj7Xd#xXD5 z1rP((13sSb?gY$N@)o)|E`>}n?hz^e{tInKsxFsXdYJsZ*>GSD)k*T5xy=g1u5vFQ z#~hjbt2+FU@ng)Wt~{?XzkTA?gFbm8Z&;DRh%xqQQ>IK>b)2bu6Lu~W0x>q_45N55 zSR1d@?%8-Gj&yntM*S=|xM)z6MM(U$uk^3IsR&Cdt@PWO9F19^ll@ z!Fky@uBXr6p}Aa^uKa-FJND+3-}}3}YxiUtR$;*|ViW3Jz&q!lAeHP}x4X&4?Ui2w zso5fANdiCkTiTX)Iqs{Me)1;z+3gyevawG8;iWhpKlk|;FU6CW?_#fEXJ_`T9^?2b z5YA-vN?HUV{;g(rAIU3axV5!~9Dk7GGJ;Lp+}rJA`0QNe`rEwe$zDAWgS`%3e+h4X z?MGh$gg-zD35-xxxa15p84%Ns%aR?UU8w}#5ty&pBA6u@WLrqPAIs(m7eZ^6A{~VF5SifYmxUo1vlM0s5C-!^5K?@) zYX;Q>c)YUA#o2ACjl^FHZt=cwHDJ4fH97&Pvv`?aDg{ z??>iE2}sRcRUN8p&$W=VHIJ(sOIaLm4>oHeV8clZf~1o10A4;HWe#xDvuW2XsUI_PEEVs;cst$JA-yww|5b1bC_jn zQ8F2e0%W-Y-R!wd_Vx_lWoosfatW)PDDHB|}V?i~#Ocz#^mN+-NW2efGA3lOW2QDN8bT^rF`)>mIud7p43qg5&J#nirI_Z_dDlcXToz4g@+wqhydaBwE2 zsZOw2JHc^((hp`MprP##OOcg+%>}yx8C$8j5nE2-VH|%?%M%<0w@aH&^GY4!qxb(% z&3_}ddV^Q*Z= zfeg+PT~?70LEK6i!xgf1p7bbGVoIuEz>7AwiF5+!A9@BPB(L>QI{DV+ol|>a?n*5J zmLfm6#O!{{*+fSTcIqhUuBEy`x99qb&-d*^q-j0)pdrHoNXVKln%Y7u!@L=YidQW8#_>$S zuyBWV;8@n|#J&ee-Q2_lyNG9%V3k^4$Jrn&97!-sDH+95{=~A%}bf|b7Tl%T#s~k z$^KUgN3{ll=4P6xjM>`NDO=!8a{f`!jrc*;H8neCQul@0nj)kyqm$Sk7?FuLeWhW| zBf&}b0fHxS7&rHQ2lF@CcZ^J#n5q|Ux3=cNS-9appr7ak2$&gI)N%Xol3k>722oB{ z3Q6BUViIU@uiKNbyU_l|ZGHdKgprF7| z8UBvit`nVy#Sz#Gx(spBjW38V+%-Cm4V(1k!RAJk`=N1BcU-f2hq~wivbHlBFraz= zEjKnuBEJL@)t|;WqnkL%w2?8HIfFNAm~R^JZcsLzti~I9r9tfhmOni12F8HARyaFK zy3&S33)1Npn@tV4y|4xW?6sMVao(ypy!zBu=TnMExOp=yX{7oB@ZB3W1e5k1t-z&> zXft(72Ke{a&3Jwi$gS|8XtLXra-tWhX3@$q2-Ig}W`QfuzCe6gAh;TeK|Sobjj{ zXW}`qyAFd_zOvn~JKOYNl2d;1=S}}*Lnq}7BMY)ub6HaPgPC%1_2j+D>^KNY>(#i@ z9+^bam7BuI$pYhA8)<`5@5T$ud{LQx-_HHjAF_7v81~2Pi@&=U&Gg=PURuj3UsC5A zSt&$(-9+a`>r7VecZa<2H&m*?uL`O{Deiq^Tq7YNC6Oelk9qF)>Oa)H+r0s!tG~<| z=M8sf=2uFHP}!Ok`D7xbshPI>1tYhq=V&cTVvhBTde;xvi~+uAKQ4S81xp&M?-h)` zxyQO=79T8$8wtg0y9I3{o<1y`b8#N^wo4+_F)^hI;IU-```WmGDg#m^S*7)T;U=|2 z|593VrYCv}IV;oZW;}W5-9at0XAnA6jc4S6Z^zKl-Q-x|QT7-uUBWn^#nw-R;|1(8 zkmI{A-GcfIJ#6{RU}RrJZhLK1$L(#HUzNHOLCn58S{Ri9|5i82v0ol{c(E`SVFQrB z2?F2PmOM1JIwZ^4%;v%9rSa20Z) zL`0{ecwdZkE*PyLxzMp;$rjhG-Cx2)c@3-6upAAyq%#+`jL=}%#ADkH%eW>atN-5f ziM%l|MUD7j)ae1LL@vKkqJf#$&Ard`e(&hWWctKLgTzo` z(w&UXJjeTc9cKPSdPiZCp&o>?upP|K1#LO>Uh6@U<3oYFB2ohaZZ{x+vamL~HgVg% z7!eD62xO-bXHwF0(B1oA``$uF9zbnTVdea=&f~UDWSQKX!6mAJ zZ#|NPF*;Z`-MOtZh}uf#@E$SY!kNPNLWArh!$atvV>G3N9bMM7fRP10xNym;SRMAY zZY!7eitk91e^fC*8Sg>|hJO4TC{59z-jCZGyfBCM;%{^Mv`wp_NL;Xg4c2+aYLh6H zQVNveV2Y)yuLL9b2VBn#=+!p6x@>1`IKM(eRg5epjx7TloX;m#)eUX@P6yf#ev{Z7 zHL69sT_nw)H{R%K-e!6lW`)QH+J}Gq1yT4G!ZEjXflUoI4MbhAb|M~_+kE^NK}0o|jE3?_b- zyOf*n!BX=&j?i4EgyXW=uAMtVeI!Zm|mpY;ag3C!;~gPWwy z(j}QmV5CjNtgHlX&bCKJzP@r#$K%xx%drU%$=`%~w{alwRg6Ivrdj zTbT)$;v4TRQb&LN8~imiVGP)J;cSIz@i(v@xj7XpGujZHv&Y#V^w?|jz1_|GcO2B8V5ooFFx@8-d9ZMMWFP+^pSa6tl~o!x%PPN7OBbN$Sv~uk z1o@Vbd#R3JS{$ErUEPb7tR?1d2W&trCmRR04VBod41&K8Ez6WwiWs``z04i3fk&GP zd5&>ufYTLE@hnZJQeLL|1doB}h~!C`8n^$iyz2~WYF)FUQUs)f(oqkJ6fqQm5Q3lv z5D3=LK?MRK6d`m1c&N5er3eCIlz<`h9-4+uD4`^DBuEjECN&67&fMqRbDw8s?#%p~ z@@K#A{;_}U{q1Lc>wDK)Z3<^1y9GPtENEB;jv>UTm^o>&th$7gZDe#pvYIDS#wk)@ zh}t2#7SQ00ukw!tSyzX|5IeLl0@jB+iw}B+y^tH!X7{CNUW+}gIM)26@pFuali$I8 z<=?yALD;=Y9&r!)<)M8};W2ST$|}fimFh(|*FA5|R96KZ_7;=IXsMDuhpOw>=PPZ4 zZ&2kBtPw2~AIR!L@~74M+#2YgxC*>oMVJ3Et-C+JYuo`hI2`wUT`g{ z=nrpRVrgC(t&00RuwGzw`Zn(7&`7f|b3!L5=IVOVVA+e48`dc$1*JX3 z;=l@lu~TYUeRS%f1MgGcIx%qWm$l8Aa;B^zAL)s zoH3+WhVY%k#`q)I;eee%>g}%)txqr8gg)KC%8u^2^nPq@2Pye~RnR{iN(Y^_n7zed zS1#Ih4rMhvY}DN@c}JHlN{Nq!S6i{`AWOOhg_lwe5L1MnO#f=EtVL55)hs8a+fp3#DEEQ59c8WBN*r zM*DryeOD)pl32-QQmM7}8NJ@Dn1ewpY4dlG{Y+%fjvWOZjQC-&7^iSLshsz5Jl|T# zgXtXhc5|^ukNn>4Svcy+vIcOw`^yZ*R=8c~Jav9Hz|Ahl(>SAPX_iwJ2yGSq$jo|l zKMtGf)CJ6^g$kF%HFld)Qy$%U>^V--CB$B=199mJOyKJ0FzbR0RdP~9Nc#dg@eYMR z_whGNx?f?B&K5f?_yHc96h4Mix3r$7_Y>km+73!l;KMaQ*g562AXwN=TD1{**FQkb zmy#^&wJ28ZiUse-eJ({^w3;ftfs+Ma5_>Yg8R&C=Y6`AlzNM8guu3Lp52?t7d|qv> z@LUbV`CJE(UsPn1M+Z$kpm+BOAnclwV&*n-wY=mbwalba%*OaB-6kMg%ZgIzn8U#SoN<*Lf-HH4nGU`!7Qtw!5#IQ0``G~6Nk-S@p003 z&5`BX!BZY)DVhNvgyF9M<$3yN@O+p|N1vqW3xps=oq7Ny86!yXF8mALo!<8JB0(?a zCi>maXWy!nx_Zn^)O2-Jeu^$Kk4@_ zt8F*9WzxtuKJ8ocEMIse?kPo>u4QUJTT8Lu?9zEr(dRe1vEhrH-cSn7nh*~OOSKnD zCj|VB>HDYGa9!E(R!8e!M^GHfi^&c6wpx)QuaQUHTaZab696dXGf|`nE0>vlo@v5! z7#dz}+g55vM1Uv^thz%={#f3j@#Th7JYpah9a3NQ-sLHYZ!VOm<}1hKUCjzKk0fZH zwiGZL+)TDu7d6ip@;1Wu8eCn=hp~Pqh}$+j7DK$ttm3G+dz5SOvO(9VAbFMjcS{SQ z4PB~6dx@9p+xGAZMDwLfN;Esp`Kie9r9u=bp(YQ_q#j&B|UYd_PS2uyvx#% zUlnj;tu*oKOpHwBXq>tPPo3ndSxo!yd3{pYCaHJ&yxa*f-l^r2GmcY=p3r*ZW33(H2TKv;puB*z(|^;V@>va4s( z1EVgM8(qv8WGRBxB8Q5gFSr}7_fNmT3TydebII+o8QEMDsqFD;Dcv&*@Ug`nX zy+6~xmSi^OedwucP+Ld`>7p*hlvekcjPPy9I$7~KUO$8|cfS2>V1HPgp2Ks>l)MrvR?u_FM-zG4AifA6* z0MhHLuJ?ZF)NdH-?J-c&Zwit;b5i;hp&)c5Yia=3k}0cTPu%}dM|A_#>Eh#_>2`v2 zk508L!?FuU(LDDmHC!AX#QSaTo3b~iKtpx&j&R{(Mlat*qtJI|O{-1W5{5pKPD?_$ ze~MkgFpbR5sySJw+qGrH`_&>xemtgq>V6lGpE_@!{4KIQG z=GU-EOpQs^k7&17eO*xUbfT!9XKs47PbT*~ar6jMBgvL)Uyo7*O_w2@33#aJsU368 zcfj74Ra3TnK0)#5m2aOu{TxS&x$p(5RgNBayCG~1B*qyC` z$DI$Yr-ZA1_K?2{%ELQ1^R-WA1L2|m^@fdM4^H%07+Vx8JXIuo8vB$E^pTURw2rnj zH$ST5Gyk0h7~n%;AKb8jXTH?84f6HBl>Owb`bI6gr~^Oo+F}gq@c`+qW%LEqwVj=x zy3c}I(jjVE`BY5**BG{P6 z!MbmzSr{K-(eL*ympYGn-%NA9LX-|!ayK}c3fGitv63uO4{#ZFcJ5WOJmaWRGaX4x zgHH7ctH!f2y_uemZrejf&$uo8CkwXnI)rlRIY*veeo zpJ~w_#^&RMmeMCKW(o4w1ZH-$VOEy7?6`-xk;~JQP?exZNRbJA#=h3(7FYekg`(#e zBw^mMXK>ZS#;fui{JRE0d3M>6SRd_&WLzglanQ&l=;Y^W74uzzkN$Dz{!e>e2`Vw- z3D{0S@aW4|7mZfGU?yQvTo2!`J{6J-CuuGs^vxDoO|~tZ8OS}ryX=ty_7y(#RV>r+ z;L}0!PmHj5I7w~sqCW2;tK4#N+a_&8%{(?r?$;4~_?0~|;USXY1Yc({(n{?J3;hd@ z|LvCJpDLlhS9HgLbzRK5B1y0&M|=NJx+N?lY{wWkwwihhynqO*EEp^k{#XiBxC}Dl zE?}mBA_nH6216fj{?r|6b7U z%Cu8#KV%6T=fWEWA4a-^(sF~%Z9%t_=Dh`-#WVcjUCWs%=?<8Jm&Sq-qt_jV23}*s zU)@oooTwu&(eY9XU2Qe7bI2Jj)I%yc7LyAeVJxnY8TCO?v4*p=Yrv%LZaO2Ms9ItF z3Z=+?pep#K{R-@v*tTKdGnR3&F99(;k#D?!fvTeJVtXIFL*_kRMp-O2jv$*y=oNAV zD@`II2UyY{9cQf%1PUR;i!+HYOkDOl{8MXIiBd)c7|1=>p1|rNDg+teIBQ;lHIR}- z*r;RBUH&4OpvwAo|BPC1ktOT$i@>0=48>r?=l*XTN;r%}1(OKD*uHh4eNKoj0hVZe zSD(FMH!f;C{L=3{X>?Jua9}u%s$S^nw&MIl)5~9)^Ua;J@PHh*Bmlp5j`2S%GWb|p z;f__9=g-DYCcu&ZuL7JufzH2QA=qnux0oDLsr>wUZ>tR|hjKtLHW5n!1qPvyD~((F zjPbzHV1Xg%3a@hhF@Q}~-nOy?7&x-U{|WzX{zY#!sExXH=)|(5-h$}vm2A^wKw15`#cD)p2rNDs2Ng?To>mQ+z4 z`m$^}vmvH@Ztm;S>>2?aFjU{4Wovnq=J6lXVt*1Y|9J)5i%V(Q9gBIgZfcP>WU#QP zE7Plz3d-p(V$X(9_Sp84vY5H5(*I*y@C**7THvLQ`+T%{^v?6^9#Kw_|K^0`uPyce Kt4{jY$iD#5owW4; literal 0 HcmV?d00001 diff --git a/lesson_plans/day_5/tdd_hat_1.jpg b/lesson_plans/day_5/tdd_hat_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dca1c0771236c97666365fc8f9a91cdf32d5cd75 GIT binary patch literal 50391 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
  • u*`>uF>tqEczJ;!gvRxCH-+Tlzb{M?Xh*L+c; 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 dVyFWFxb>on)ou@B(VNTpa1JP +