Welcome to the seminar for Algorithmics & Data Structures. Each week, you will be provided with a slide deck summarising the theoretical concepts covered in the seminar session, as well as a Jupyter Notebook. Solutions will be distributed on Fridays via Moodle and can be discussed in class, but will not be published here.
Overview¶
| # | Seminar topic | Slides | Seminars |
|---|---|---|---|
| 0a | Prerequisites: Python + Jupyter | — | Session |
| 0b | Prerequisites: Git & GitHub | — | Session |
| 1 | Python Basics | Slides ↗ | Session |
| 2 | Python Basics I: Control Structures | Slides ↗ | Session |
| 3 | Python Basics II: Data Structures | Slides ↗ | Session |
| 4 | Transfer Workshop & Project Kickoff | Slides ↗ | Session |
| 5 | Analysis & Complexity | Slides ↗ | Session |
| 6 | Data Structures | Slides ↗ | Session |
Running the notebooks locally¶
# 1. Clone the repository
git clone https://github.com/alho94/algorithmics-docs-public.git
cd algorithmics
# 2. Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Open the Notebooks in your fav IDE or launch Jupyter Lab
jupyter lab docs/seminars/en/Recommended but not mendatory references¶
This course follows tightly the Runestone Academy book on Problem Solving with Algorithms and Data Structures using Python. Hence, we strongly recommend reading it. Additional, usefull resources are:
Cormen, Leiserson, Rivest & Stein — Introduction to Algorithms (4th ed., MIT Press)
A very good reference to start with ANY computer science topic is roadmap.sh. This course will cover topics from:
