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.