class: center, middle
CodeRefinery (SIAM CSE23)
What We Learned from Teaching Software Engineering Practices to Students and Researchers in Nordics and Beyond
Radovan Bast (UiT The Arctic University of Norway)
Researchers need to navigate many tools and concepts.
.cite[(c) Scriberia for The Turing Way, CC-BY]
.cite[Heidi Seibold, CC-BY 4.0, https://twitter.com/HeidiBaya/status/1579385587865649153]
Team and project: coderefinery.org
.left-column50[
- Since 2016, now phase 3 until 2025
- Over 2000 persons trained
- Over 30 instructors/speakers
- Over 100 exercise leads
- Innovative teaching methods
- Working in public
- Lesson material
- Video recordings
- Manuals
- Training network
- Community
Typical format: 6 half-days, twice per year, online, free, live-streamed, recorded, archived asynchronous Q&A in collaborative document .left-column50[
- Version control
- Collaboration using Git
- Testing
- Documentation
- Notebooks
- Modular code development
- Reproducible research
- Software licensing
- How to share and publish code
- How to organize a code project
- ... ]
.right-column50[ Next workshop March 21-23 and 28-30, 2023, register here: https://coderefinery.github.io/2023-03-21-workshop/
Lessons and recordings: https://coderefinery.org/lessons/ ]
.cite[(c) Samantha Wittke]
.cite[(c) Samantha Wittke]
- 284 answers
.cite[(c) Samantha Wittke]
.cite[R. Darst "The Future of Teaching" (text, video)]
R. Darst's streaming setup during "Python for Scientific Computing".
- Design lessons to .emph[learners' needs] not to what instructors find cool
- Public-first
- Ask and answer questions using collaborative document
- Dedicate time to set up high-quality screen share
- Screen share: .emph[portrait mode, not landscape]
- Make it impossible for audience to appear in voice or picture
- We can publish recordings sooner
- Recordings are most viewed on the same day
- .emph[Coordination effort] starts to outweigh lesson preparation and teaching
- The importance of .emph[communicating value to organizations]
- .emph[Outreach and marketing] takes time and work
- Volunteer retention and building long lasting relationships takes effort
- Need for mentor networks
- Not everybody needs to be active during a course: make it easy for people to drop by for the parts they are interested in
- Need to adapt how we measure participation
.quote["but the code is not ready"]
- Too many commits better than too few commits
- One branch better than no branches
- Try a ReproHack: try to reproduce published work
- Learn how to share work inside your group: "which versions have you used?"
- Talk about licenses
- Code review and feedback
- Code reading sessions
- Research software engineers
- .emph[Office hours]
Great overview by the INTERSECT project (INnovative Training Enabled by a Research Software Engineering Community of Trainers)
- Collection of RSE training material, workshops, and resources: https://intersect-training.org/training-links/
- Cross-advertise
- Link to material
- We would like to encourage our project members to help out at other workshops and vice versa
- Teach together
.left-column70[
-
Towards being a non-profit or closer to a legal entity so that we can participate in funding applications
-
More collaboration with similar projects
-
Research groups can send their students and helpers to us instead of creating isolated material
-
Easier to participate as individual or organization, even short-term
-
Offer value for volunteers ]
- Richard Darst (design of the current workshop streaming format, developed many novel teaching techniques that we use)
- Samantha Wittke (graphics explaining the concepts, developed workshop on-boarding scheme)
- Matias Jääskeläinen (workshop coordination)
- CodeRefinery team
- Aalto RSE group
- Nordic-RSE
- The Turing Way (FAIR image)
- H. Seibold ("6 helpful steps for reproducible research" image)
- Other images: Jet pilot: public domain. Captain and first officer: CC0. ATC tower: CC BY 2.0 (Peter R. Miller).
.emph[Next workshop] March 21-23 and 28-30, 2023, register here: https://coderefinery.github.io/2023-03-21-workshop/
- Use our material and give feedback
- Send one or more exercise teams
- Join as observer to see how we teach and organize
- Co-organize, co-create, co-teach with us
- Chat: https://coderefinery.zulipchat.com
- Blog: https://coderefinery.org/blog/
- Newsletter: https://tinyletter.com/coderefinery
- Twitter: https://twitter.com/coderefine
- Mastodon: https://fosstodon.org/@coderefinery
- Support: support@coderefinery.org