Version Control, Clean Code and Documentation
Course Overview
Dates: January 12, 19, 26, and 28, 2026
Instructors: Dr. Anthea Alberto and Dr. Maximilian Hindermann (RISE)
This 4-day course covers essential skills for research software development:
- Version control with Git and GitHub
- Writing clean, maintainable code
- Documentation best practices
- AI-assisted coding workflows
- Research data publishing with Zenodo
Learning Objectives

By the end of this course, you will understand how to use version control, clean code, and documentation to:
Detailed Program
Monday, January 12, 2026 (09:00-12:00): Git, Documentation & GitHub
- 09:00 Course introduction
- RISE and instructors
- Participant introductions
- Leistungsnachweis
- Course plan
- Desiderata
- 09:15 Brief introduction to version control with Git
- 09:45 Introduction to documentation with examples from Python
- 10:30 Break
- 10:45 Version control and documentation with GitHub
- 11:55 Explanation of assignment
- 12:00 Lunch and end of day
Monday, January 19, 2026 (09:00-16:00)
Morning (09:00-12:00): Clean Code in Context
- 09:00 Introduction and clean code in context
- File structures
- Data formats and OS differences (LaTeX recommendations)
- File encoding (UTF-8)
- Connecting RStudio to GitHub (Happy Git with R)
- 10:15 Break
- 10:30 General input for cooperation and/or exercise
- Group work and exchange of experiences
- What will you implement in the future?
- Storage systems and collaborative editing (GitHub)
- Example scripts analysis
- 11:15 Buffer for technical setup
- 12:00 Lunch
Materials: Clean Code in Context
Afternoon (13:00-16:00): AI-Assisted Coding
- 13:00 AI tools landscape and research use cases
- 13:20 Introduction to Claude Code with PyCharm (live demos)
- 14:00 Break
- 14:15 Hands-on: Clean code refactoring with AI (DRY, KISS, naming)
- 15:00 Hands-on: Documentation generation (docstrings, READMEs)
- 15:45 Best practices and workflow integration
- 16:00 End of day
Materials: AI-Assisted Coding
- 09:00 Recap & administration
- 09:15 Students present their repositories
- 10:15 Break
- 10:30 GitHub and PyCharm integration
- 11:00 Automated documentation with Sphinx
- Creating docstrings (with AI assistance if needed)
- Setting up Sphinx documentation
- 11:30 GitHub-Zenodo integration for research data publication
- 12:00 Lunch and end of day
Wednesday, January 28, 2026 (09:00-12:00): Bring Your Own Data
- 09:00 Bring your own data session
- Case studies (actual or planned)
- Presentation of own data and documentation approaches
- Feedback from course participants
- Mail-in desiderata
- 12:00 Lunch and end of course
About us

- Email: rise@unibas.ch
- Web: https://rise.unibas.ch/
- GitHub: https://github.com/RISE-UNIBAS
Course materials

Available right now at https://github.com/RISE-UNIBAS/clean-code