Kyle Niemeyer, Jeffrey Carver, Karthik Ram
July 9, 2019
Do you develop software for your research? Do you have some basic skills but desire more? If so, you might be interested in the URSSI Winter School in Research Software Engineering. As part of the URSSI institute planning, we are planning a pilot 2.5-day workshop on research software engineering skills. This is aimed at early-career researchers, including graduate students and postdocs, who are familiar with the basics such as the Unix shell, version control with Git, and Python programming, and would like to learn more about best-practices for developing research software.
The ideal candidate to attend this Winter School is a graduate student or postdoc who understands the basics of programming and version control but wants to learn more about software development practices. To get the most benefit from this workshop, we expect students to be familiar with the unix shell, Python and Git at the level taught at a Software Carpentry workshop.
Format and topics
This 2.5 day, hands-on workshop will expose participants to a series of topics necessary for developing sustainable research software. Topics to be covered include:
- Software design and modularity
- Collaborative software development via GitHub
- Software testing in Python
- Peer code review
- Packaging and distributing Python software
- Licensing, open sharing, and software citation
The school will consist of lectures on these topics along with hands-on exercises to allow the participants to practice the concepts covered in the lectures. To facilitate the hands-on experience, each participant will choose one of the provided projects to use throughout the course for applying these concepts.