Tools and setup
Course tutor
MST0052 Tutor is an AI tutor built for this course. Unlike a general-purpose chatbot, it answers from the course material — lecture slides and notes, code examples, released problem sets, the project instructions and the syllabus — and cites the source of every claim about course content, so you can go and check it.
Getting in
Go to tutor.vegardlarsen.com/mst0052 and enter the email address your course enrolment is registered under. You get a one-time code by email — there is no password. Access is limited to students on the course roster; if your code never arrives, check that you used your registered address and then contact me.
What it does
Pick a mode when you start a conversation:
| Mode | Use it for |
|---|---|
| Explain | Direct explanations of course concepts |
| Course info | Schedule, deadlines, assessment structure, what the syllabus covers |
| Problem coach | Staged hints on exercises, and feedback on code you have written |
| Project coach | Pressure-testing your project: validation design, leakage, baselines, interpretation |
| Oral exam | Practising exam questioning, with feedback against the rubric |
| Quiz | Testing yourself on a lecture |
How it behaves
The course is assessed by a project (30%) and an oral exam (70%) where you have to explain your own choices. The tutor is built for that: on exercises it is Socratic by default, moving from a clarifying question to a conceptual hint to a targeted hint, and it only works through a full solution after you have made a genuine attempt and explicitly asked to see it. Saying “I don’t know” does not unlock it. For problem sets and project deliverables that are currently assessed, it stays at hints and will not go further.
This is a deliberate design, not an obstacle. If you can only get an answer out of it by reasoning your way there, you will still have that reasoning at the oral exam.
It also will not browse the web, run code, take file uploads, write your report, produce end-to-end project code, or say anything about what grade you might get. For general coding help — writing and refactoring code, debugging a stack trace — the tools on the AI page are the better instrument; the tutor is for understanding the course.
There is a fair-use cap of 100 messages per day.
Privacy
Your conversations are stored in your own browser, never on the server. I cannot read them, and they are not used to train any model or to inform grading in any way. What the server keeps is metadata only: which mode you used, timestamps, and counts. Messages are sent to the model provider to generate a reply, and providers may hold API traffic briefly for abuse monitoring — so, as with any AI tool, do not paste personal data, confidential material, or other people’s work into it.
Disclosure: Using the tutor counts as AI use under the course policy. As with any other AI tool, you must understand and verify what you use and disclose it in your project — see the syllabus.
Python
This course uses Python 3.11+. If you don’t have Python installed, download it from python.org or use your system’s package manager.
Check your version
python3 --version You need 3.11 or later.
Setting up a virtual environment
Always work inside a virtual environment to keep your project dependencies isolated.
macOS / Linux
python3 -m venv .venv
source .venv/bin/activate Windows (PowerShell)
python -m venv .venv
.venvScriptsActivate.ps1 Alternative: conda or micromamba
If you prefer, you can use conda or micromamba instead of venv. These are popular in the data science community because they manage both Python and non-Python dependencies (e.g. compilers, system libraries) in a single environment, which can simplify installing scientific packages.
- Miniconda — a minimal installer for
conda. Recommended if you are new to conda. - Micromamba — a fast, single-binary alternative to
condawith the same command-line interface. Recommended if you find conda slow. - Conda documentation — general getting-started guide.
Create and activate an environment for this course:
# With conda
conda create -n mst0052 python=3.11
conda activate mst0052
# With micromamba
micromamba create -n mst0052 python=3.11
micromamba activate mst0052 Either venv or conda/micromamba is fine for this course — pick whichever you are more comfortable with.
Required packages
Install the core libraries:
pip install scikit-learn pandas numpy matplotlib seaborn jupyter | Package | Purpose |
|---|---|
scikit-learn | Machine learning models, pipelines, cross-validation |
pandas | Data loading and manipulation |
numpy | Numerical arrays and linear algebra |
matplotlib | Plotting and visualisation |
seaborn | Statistical visualisation (built on matplotlib) |
jupyter | Interactive notebooks |
Recommended editor
VS Code with the Python extension is recommended:
- Install VS Code
- Install the Python extension (by Microsoft)
- Install the Jupyter extension for notebook support
- Open your project folder and select your
.venvinterpreter
JupyterLab and PyCharm are also fine choices.
The courageous can use Neovim with a Python LSP and Jupyter plugins — a powerful, keyboard-driven setup, but expect a steep learning curve.
Jupyter notebooks
Start Jupyter from your project folder:
jupyter lab Or use VS Code’s built-in notebook support (recommended for version control).
Git and GitHub
Track every change to your project code with Git. It is the standard tool for version control in software and data science, and it pairs naturally with the AI coding tools listed on the AI page — you can see exactly what each suggestion changed before you accept it.
Install Git
- macOS: comes with Xcode Command Line Tools (
xcode-select --install) or via git-scm.com. - Windows: install Git for Windows.
- Linux: use your package manager, e.g.
sudo apt install git.
Check it works:
git --version One-time setup
Tell Git who you are — this is recorded in every commit:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main Basic project workflow
# Start tracking a project
cd my-project
git init
git add .
git commit -m "Initial commit"
# After making changes
git status # see what changed
git diff # see the actual changes
git add file.py # stage a specific file
git commit -m "Add preprocessing pipeline"
git log --oneline # see the history A minimal .gitignore
Create a file called .gitignore in your project root to keep Git from tracking files you don’t want under version control:
.venv/
__pycache__/
*.pyc
.ipynb_checkpoints/
.DS_Store
data/raw/ Add large or sensitive data files explicitly — never commit credentials or full datasets.
GitHub
A remote host like GitHub gives you a backup, makes collaboration possible, and is where you’ll redeem the GitHub Student Developer Pack — the same one that unlocks free Copilot Pro (see the AI page). Apply with your BI student email at education.github.com/pack.
Push your project to GitHub:
# Create an empty repo on github.com first, then:
git remote add origin git@github.com:your-username/my-project.git
git branch -M main
git push -u origin main Learning more
A few good starting points:
- Pro Git — the canonical, free book. Chapters 1—3 cover everything you need for this course.
- GitHub’s intro guide — short and hands-on.
- Oh My Git! — a free game that teaches Git visually.