Homework: rules and schedule
The deadline for all groups is Monday 23:59, unless stated otherwise.
For uploading files, see Submission. For final point calculation and course grades, see Grading.
Quick rules
- Do the main work yourself.
- Submit both a report and code/source files where relevant.
- Identify the report and its author clearly; follow the report structure below.
- Write concisely and explain your reasoning.
- Test your solution and show useful evidence.
- Cite substantial help from AI tools, online sources, books, classmates, or other people.
- Do not share your solution with other students.
2026 homework and project schedule
Homework tasks are released one at a time. A homework is published when its title below links to the task page. The current homework is shown larger; forthcoming topics and expected deadlines may still change.
- Homework 1. Algorithmic Evidence (07.09, 23:59)
- Homework 2. Dual-Pivot Quicksort, Binary Search, and Divide-and-Conquer (14.09, 23:59)
- Homework 3. Trees and Balanced Search (21.09, 23:59)
- Homework 4. Heaps, Priority Queues, and Succinct Trees (28.09, 23:59)
- Homework 5. Succinct Dictionaries, Hashing, and Bloom Filters (05.10, 23:59)
- Homework 6. Graph Traversal and Shortest Paths (12.10, 23:59)
- Half of the regular homework sets are completed after HW6.
- Homework 7. Spatial Data and Nearest-Neighbour Search (19.10, 23:59)
- Homework 8. Advanced Graphs: SCC, Flow, and Random Walks (26.10, 23:59)
- Homework 9. TSP, Nearest-Neighbour Graphs, and Set Cover (02.11, 23:59)
- Homework 10. Heuristic and Evolutionary Optimisation (09.11, 23:59)
- Homework 11. Dynamic Programming, Edit Distance, and DTW (16.11, 23:59)
- Homework 12. Text Search, Suffix Arrays, and BWT (23.11, 23:59)
Project preparation begins while the regular homework sequence is still running:
- During HW11: Explore project ideas?, discuss the scope, and identify possible teammates.
- During HW12 (by 23.11, 23:59): Register the final project team and topic.
After the HW12 deadline, students have three full weeks for project implementation, experiments, analysis, documentation, and poster preparation.
- 30.11: Project development and feedback week; no regular homework submission.
- 07.12: Project progress checkpoint and feedback.
- 14.12, 23:59 (week 16): Final project submission deadline.
- 17.12 (week 16): Project poster session and presentations. The exact time and room will be announced.
Homework points
The course has 12 regular homework sets, each with up to 5 base task points. This gives 60 base homework task points, plus possible bonus points.
There are more task points available than are needed for the full homework score. You may miss some individual tasks, or even have one difficult week because of illness or conflicting duties, and still recover enough points for an excellent homework score.
homework_course_points = accepted_homework_task_points + accepted_bonus_points
Individual work, AI, and sources
Homework tasks are individual work. You may discuss general ideas with classmates, ask questions in Zulip, attend consultations, and ask TAs or the lecturer for help. Discussion is encouraged; sharing solutions is not.
You may use AI assistants as learning and programming support, unless a task explicitly says otherwise. You remain responsible for everything you submit. You must be able to explain your solution, code, results, and report.
If AI tools, online sources, books, classmates, or other people substantially helped your solution, cite that help briefly in the report.
Reports and code
Each homework submission normally has two parts: a concise PDF or HTML report, and the relevant code/source files.
Do not submit only a notebook or only a Google Colab link. The report must be readable on its own.
Required report header
Begin every report with the following information. A separate title page is not required.
- Report title: Algorithmics (MTAT.03.238) - Homework N: homework title
- Student: your full name
- Curriculum: the name of your curriculum or study programme
- Study year: your current year of study in that programme
- University email: your university email address
- Date: the report or submission date
Task titles and structure
Use a separate, clearly titled section for every task you answer. Copy both the task number and its descriptive title from the homework page, for example: T2. From code to falsifiable predictions. Keep the original task numbers even if you do not answer every task.
A good report explains the problem, the algorithmic idea, the approach, the results, the evidence, the limitations, and any substantial help or sources used. Be concise and to the point.
References and assistance
End every report with a section titled References and assistance. Cite the sources that materially informed the work, including algorithms, definitions, code, data sets, images, documentation, or substantial ideas. Identify relevant software libraries and any help received from classmates, teachers, or other people. If no external sources or assistance were used, state that briefly.
For every substantial use of an AI tool, state the tool and model if known, the task or report section in which it was used, what kind of help it provided, how its output was incorporated or changed, and how you checked the resulting code, claims, or explanations. A statement such as “I used ChatGPT” is not sufficient. A full conversation transcript is not required unless a task explicitly asks for it.
Presentations and feedback
During practice sessions, homework tasks may be presented and discussed. Everyone should be ready to explain their work: the task, the approach, the algorithm or data structure, the results, and what could be improved.
Weekly feedback is usually given as general feedback in Zulip or during practice sessions. You are welcome to ask for clarification or more personal feedback.