This course was originally written by Thomas Robitaille, and was carefully adapted by Robert Schmidt, Markus Demleitner and myself.
The web page for this course is http://wwwstaff.ari.uni-heidelberg.de/fschneider/teaching/py4sci.
The lecturer is Fabian Schneider. You can contact me during the course and at fabian.schneider@uni-heidelberg.de.
The block course lasts five days, and each day will follow this schedule:
The lectures will be mixed with exercise sessions - from time to time you will work for 5 to 10 minutes on slelected tasks and exercises. There will be problem sets during the week, and you will be required to hand them in by a deadline indicated on the problem sheet. An average of 60% [=54 points] of the problem sets will be required to obtain 2 credits points at the end of the course.
The course will be taught in English unless requested otherwise.
I am happy to provide feedback and go over your code/solutions to the exercises.
All solutions should be submitted as Jupyter (IPython) notebooks or python programs by email to fabian.schneider@uni-heidelberg.de (one notebook/program per problem set per person).
-> Please use a filename that contains the name of the problem sheet and your name.
-> Only submit the program (.py or .ipynb), do not submit data downloaded from the course web page.
The following criteria are taken into account for grading problem sets - the notebook/program should:
Please make use of comments in your code to ensure that someone not familiar with the problem could read it and understand your solution.
There is never a unique solution to a problem, so it does not matter if your programs do not look the same as somebody else's! What matters most is that you get a chance to make mistakes and learn from them.
Problem set submissions need to be handed in separately for each participant.
The deadlines for the Problem Sets are:
Problem Set 1 Thursday, 10th September 7pm CEST
Problem Set 2 Monday, 14th September 7pm CEST
Problem Set 3 Friday, 18th September 7pm CEST
If you would like to use Python on your laptop, you have basically two options:
Unless you are using your own device, the default is to use the server https://jupyter.kip.uni-heidelberg.de for this course. Please try to login with your usual URZ account.
You can download the notebooks of this course, the problem sets and the ancillary data files here.
You then upload them to the KIP Jupyter Server using the 'upload' button. Some people found it helpful to create sub-folders for each day (e.g. 'day1', 'day2' etc.).
Once uploaded, you can follow the lecture and work on the notebook.
Alternatively, you can open a terminal on the Jupyter Server (klick on New -> Terminal), copy the full link to the Jupyter Notebook that you wish to upload from the above homepage and then execute wget <full-url>
. This will download the Jupyter Notebook file from the lecture homepage to the present working directory in the terminal.
It is also possible to run Python on the terminals/CIP computers. This approach appears slower than using the Jupyter server, so we do not recommend to do this.
You will need to start up a command-line Terminal application. In the CIP pool this is located in the Anwendungen -> Zubehör -> Terminal menu.
To ensure a common environment, in the CIP pool we'll be using an updated version of ipython over what is installed on the machines themselves. To use that, you have to manipulate your local path. Here is one way to do this:
echo "export PATH=/local/py4sci/anaconda3/bin:$PATH" >> ~/.bashrc
exec bash
You only need to do this once.
Then fetch the notebooks and execute the notebook player (optionally in a subdirectory):
jupyter notebook
A web browser should open and you should be ready to go.