Awesome
Awesome Educational Resources for Research Software Engineering
A curated awesome list of Educational Ressources for Research Software Engineering (RSE). Inspired by these curated collections.
About// Contributing HIFIS Awesome
Sub lists// Educational Resources Communities FAIR Policies & Guidelines Science
Contents
- General
- Software Design and Architecture
- Software Documentation
- Software Development
- Trainings
- Higher Education
- Podcasts
General
- The Turing Way - A handbook to reproducible, ethical and collaborative data science.
Software Design and Architecture
- Software Design and Architecture - A guide to software design and architecture.
- Software product quality - The ISO/IEC software quality model.
Software Documentation
- Awesome READMEs - A curated list of awesome READMEs.
- One Sentence per Line Principle - Why you should write only one sentence per line in your documentation.
- Pragmatic Software Architecture Documentation - DLR Talk about concepts of software architecture documentation.
- arc42 templates - A template for software and software architecture documentation.
- arc42 tips - Additional tips and hints.
- arc42 FAQ - Frequently asked questions on arc42.
- DokChess - An arc42 example documentation.
- Architektur Spicker - Short cheatsheets for basic software architecture documentation (German).
- Open Source Guides - Documentation required for Open Source Software.
- Awesome Documentation - A curated list of awesome real-life documentation examples.
Tools
- Awesome Docs - A curated list of awesome documentation tools.
- Awesome Documentation Tools - Curated list of documentation tools in different languages. API, Architecture, Library and X Documentation.
- Pandoc: A universal document converter - Convert between the different formats.
Software Development
- Awesome Software Engineering - A curated list of awesome software engineering resources.
- Awesome Data Engineering - A curated list of data engineering tools for software developers.
- Awesome programming languages - The list of 203 awesome programming languages.
Change Management
- Architectural Decision Records (ADR) - An overview to ADRs.
- Keep a Changelog - Guiding Principles for keeping changelogs.
- Awesome Code Review - A curated list of tools, articles, books, and any other resource related to code review.
- The Art of Readable Code - A book explaining techniques for better readable code.
- pre-commit - A framework to manage pre-commit hooks.
Testing
- Awesome Testing - A curated list of testing software, extensions and resources.
- Awesome-tdd - Curated list of resources: books, videos, articles about using TDD( Test Driven Development ).
- Awesome Test Automation - A curated list of awesome test automation frameworks, tools, libraries, and software.
Automation with CI/CD
- ciandcd Awesome - Curated list of Continuous Integration and Continuous Delivery.
- Continuous Integration services - A list of Continuous Integration services.
Project and Code Structure
- Reusable data publications - Good Data Practices for creating reusable Dryad data packages.
- Structure of the Repository - Explains the basics of Python repository structures.
- Python Application Layouts: A Reference - Shows typical Python Applications Layouts.
- Structuring R projects - Explains the basics of R repository structures.
- Cookiecutter - A command-line utility that creates projects from cookiecutters (project templates) for several languages.
Code Styles
- Awesome (Style) Guidelines - A set of guidelines for a specific programming language that recommend programming style, practices, and methods.
Linters and Code Formatters
- Awesome Linters - A community-driven list of awesome linters.
- Awesome Code-Formatters - A curated list of code formatters.
Trainings
- Carpentries trainings - Free course material to teach and learn foundational coding and data science skills.
- Codebender - Course on Managing Research Software Projects.
- Code Refinery - CodeRefinery acts as a hub for FAIR (Findable, Accessible, Interoperable, and Reusable) software practices.
- EMBL-EBI Training - Training in data-driven life sciences.
- ENCCS - Best Practices in HPC Training.
- HIFIS workshops - Free course material to teach or learn research software engineering skills.
- HLRS - Specialized trainings with topics in HPC computing.
- Merely Useful - Book-based course material for Research Software Engineering with Python and R.
- MIT - The missing semester of your CS education.
- NBIS - Tools for reproducible research.
- PRACE - Advanced trainings and workshops with topics in computing.
- Programming Historian - Tutorials that help humanists learn a wide range of digital tools, techniques, and workflows.
- The Alan Turing Institute - Course Material for several RSE related topics.
Higher Education
Higher education offers at universities and the like with RSE focus:
- Learn Research Software Engineering - Overview of deRSE on study programs (with an focus on Germany).
Podcasts
Podcasts that we can recommend as RSEs for RSEs.
RSE-specific podcasts
- Code for Thought - A podcast on software, engineering, research and anything in between.
- Developer Stories - Originally created for raising awareness for RSE, later on broadened its scope.
Contributing
Contributions welcome! Read the contribution guidelines first.