View on GitHub

sustainable_development_course

Course material for "Scientific Software Development"

Unit 3: Think before you code: Planning your programming project

In unit 3, you will learn how to better plan your software. I will demonstrate different programming styles with an example.

If you run into problems at any point, please contact us via inga.ulusoy@uni-heidelberg.de or open an issue on github.

The slides for this session are found here. The demonstrations are listed here and the necessary commands for the live lession are summarized here.

1. Unit 3, Part 1

We will learn about software design and programming paradigms.

2. Programming paradigms

Take a small example as in the video, for example the factorial of a given number, and try to implement it using two different paradigms. Can you identify advantages and disadvantages of one or the other paradigm in your specific example?

3. Plan your software

Take a piece of paper and draft a software based on the pieces of the Jupyter notebook that you wrote. Consider: programming paradigm (style), top-down or bottom-up? Do this without your team.​

In the design, consider that your team will also have contributions to the program.

4. Design your package

Get together with your teammates and design your package. Agree on who solves which task. Use GitHub issues to assign the tasks and keep track of the implementation.

5. Synchronous and asynchronous work in your team

Continue working on your module(s). Collaborate through GitHub, and use branches, pull request, and request reviews from your team members before merging any branches into main.