Although you can download notebooks to your own laptop and do the home work there, using the astronomy group’s Python server makes downloading, submitting and getting feedback on homeworks easy.
To log in to the astro python server, go to https://astrolabpy.shef.ac.uk (the https bit IS important).
Connections to the astro python server are only allowed from Sheffield University IP addresses. If you are outside the University network and want to connect to the server, then you must setup a VPN connection from your machine. This is the same security precaution we use for access to the ROSA telescope you used last year. Full instructions for setting up a VPN are available at the ROSA access page.
The connection to the astro group python server is secure, but most modern browsers will give a warning that the certificate is not trusted (see the images below for examples of some browsers). You must trust the certificate before proceeding. If you find that you can log in, but the notebook won’t run any code, this is the most likely cause.
You’ll be presented with a log in screen like the one shown. Log in with the username and password you have been given.
Once you log in you’ll see the familiar Jupyter notebook main window.
Downloading and submitting assignments is done from the terminal. Start a new terminal by selecting “New -> Terminal” from the top right menu. Homeworks which are available to download can be listed by typing
nbgrader list, as shown below. In this case, a single session, called “Session1” is available to download. You can fetch a copy of the homework by typing
nbgrader fetch Session1. This will download a copy of the homework notebooks, and all associated data, to your home directory.
The homework notebooks follow the standard structure. Tasks for you to perform to check your understanding are marked in green. At the end of each notebook is a series of homework tasks. Many of these are followed by code cells containing automatic tests.
These tests are used as part of the grading process. If a task has been completed successfully, these tasks will run without raising any errors, and you will get your full marks. You can run these cells yourself until you see that you have completed the homework task successfully.
Note that the cells you have to complete will often have a line that says
raise NotImplementedError(). If you don’t remove this, your homework will always raise an error and you cannot get full marks.
As a quick aside to those of you who think you’ve spotted a loophole - you cannot just delete the tests contained in the test cells. The code that deals with assignment submission will reverse any changes you make to these cells on submission!
Submitting assignments is easily done from the terminal. Simply start the terminal and type
nbgrader submit Session1 to submit Session1. You can submit as many times as you like, even after the deadline has elapsed. Each submission is timestamped, and late submissions will be penalised.
If you’ve worked on the homework on your own laptop you can upload them to the astro group python server and submit them as above. Each homework will need to be in a directory named after the assignment. For example, the homework named “Session1” needs to be in a directory named “Session1”. The instructions above should then work.