Please read the following page carefully.
Most exercises are provided as Jupyter Notebooks. These are available in the git repository (you can also use the button in the top right corner of this page).
We suggest the following workflow to get a copy of the repository and keep it up to date. You need to have your own copy of the repository and therefore need to fork our repository. Recall that the exercises are part of the exam:
fork
button in the top right corner of the GitHub page
. This step will allow you to push your changes to GitHub.git
on the command line: git clone https://github.itu.dk/IML/material2023
git
on the command line: git pull
We provide two different notebook versions in separate folders, one for Jupyter Lab users and one for VSCode users (also supports PyCharm, Dataspell, and other editors). We recommend that you use Jupyter Lab because it provides notebooks that look similar to the webpage. However, the VSCode notebooks contain the same content but without the formatting.
Each folder contains sub-folders that mirror the webpage urls. For example, the first exercise is placed in <repository-root>/<vscode|jupyter>/02-material/W1-introduction/
.
You should update the git repository each week to be sure all necessary material is available in the local repository that you will be working on.
git checkout release
git pull
git checkout -b myExerciseWeekN
The first two steps ensures that you get the newest material from release branch of the server reposititory. The last step will make a local branch that you safely can work on. In case updates are necessary, you are in full control over any merge.
After each week you MAY chose to merge you changes into your local main branch as to avoid having too many branches. This can be done by
git checkout release
git merge myExerciseWeekN
You can then resolve any merge conflicts that may occur.
Each week contains a set of exercises, each divided into tasks. Each task is marked with a symbol to indicate level of
difficulty (easy , medium , hard ).
Additional symbols are used to indicate the type of task: