This lecture consists of several self study sessions!
In these sections you are supposed to work on the given topics on your own and in your own time. We will try to provide helpful references for books and online material that can help you but you are not limited to these materials.
In order to get an idea on how much you understand of the material we provide exercises.
Important
If, and only if, you are taking the class at MCI and are not reading these notes on your own, you are expected to hand in the exercises below as a git repository.
How you should hand in the exercises
In order to get a bit of git and pdm training done we work for all exercises on GitHub.
Create a new private project in GitHub -> you might want to use it for all later exercises as well.
Give the instructors (kandolfp) access to the project, see docs for help.
Create a pdm project in your repository and commit the necessary files.
Create an appropriate structure in your repository for the rest of the exercise (maybe have a look at the exercises to have a better idea first), not everything should be in the main folder.
Try to structure your work on the exercises with git, i.e.
Don’t commit things that do not belong together in one single commit. Each exercise can be considered as a separate thing. Subparts of an exercise might be independent as well.
Make sure that you do not commit something that does not work - produces an error. If you have difficulties with an exercise you can also commit your best effort in this case.
Add a README.md that explains what you are doing, how to run the exercises and anything else that is necessary (quick guide to pdm), maybe note your name somewhere (github nicks are not always easy to track down).
Optional
Work with issues, you can reference the issue in the commit message, docs
Sessions:
Appendix B concerned with: Variables, Data Types, Functions, Typing and Type Hints,
Appendix C concerned with: objects, functional programming and m odules
Appendix D concerned with: scientific computing, mainly numpy and pandas
Appendix E concerned with: decorators, Pydantic, and Pathlib
All of the topics covered will be part of the final project so further training will happen there.