Module 4: ethics and best practices
[Back to main page]
Day 1: introduction, best practices, errors and ethics
- introduction to this module (slides)
- best practices for scientific computing (slides)
- software errors (slides)
- standards of scientific computing - perspectives from ethics and philosophy of science (slides: version 2019, version 2020)
- Prelims - Scientific standards - Moral standards
Day 2: version control systems - git
- workshop: learning Git the hard way (online, unformatted slides)
- additional references:
- Pro Git book (available online)
- Atlassian Git tutorial (online)
- Git magic tutorial by Ben Lynn (Stanford University) (available in many languages, online or in pdf)
- Curious git tutorial by Matthew Brett (available online or in pdf)
- tutorial (in French) from développez.com
- Official GitHub training manual
- GitHub cheat sheet
- Git course by Daloze and Wilmet (in French) with cheatsheet, slides and exercises (online, assembled in pdf)
- course from Site du zéro (in French): Gérez vos codes source avec Git (pdf; personal lecture notes and command summary: txt, md)
- Git par la pratique by Demaree (in French); personal lecture notes and command summary: txt, md)
- presentations about Git basics (online, unformatted slides), meetup (online, unformatted slides), collaboration (online, unformatted slides)
- personal reading notes: unordered information retrieved from various web sites about git and GitHub
Day 3: IT security
- introduction to IT security for data scientists (slides)
- Current security threats - How to protect your assets - Good IT security practices - How to react to a security incident - Selected topics
Day 4: software licensing and documentation
- free and open source software licensing (slides and exercises)
- Computer programs: source code and object code - Free and Open Source Software (FOSS): definition(s) - Licensing - FOSS licenses - Allowed uses of FOSS - Price of FOSS - Obligations of FOSS Licenses - Permissive and copyleft licenses - Compatibility of FOSS licenses
- software documentation: online tutorial (pdf of main parts)
- Motivation and wishlist
- Popular tools and solutions: comments in code - README files - Wikis - LaTeX/PDF - Doxygen - reStructuredText and Markdown - HTML static site generators
- Sphinx and reStructuredText
- Deploying Sphinx documentation to Read the Docs
- Hosting websites/homepages on GitHub Pages
- additional notes on documentation by Dr. Alexander Kashev (pdf, html, md)
Questions, comments or suggestions ? Don’t hesitate to contact me !