Table of contents:
Assignments
There are 8 (originally 9) assignments in this course, and you need to get 5 (originally 6) of them approved in order to qualify for the exam.
Subject | Chapters | Published | Deadline | |
---|---|---|---|---|
1 | Some Representative Problems and Basics of Algorithm Analysis |
1 and 2 | 23.08.2022 | 08.09.2022 |
2 | Graphs | 3 | 09.09.2022 | 20.09.2022 |
3 | Divide and Conquer | 4 | 21.09.2022 | 04.10.2022 |
4 | Greedy Algorithms | 5 | 05.10.2022 | 18.10.2022 |
5 | Dynamic Programming | 6 | 12.10.2022 | 01.11.2022 |
6 | Network Flow | 7 | 21.10.2022 | 04.11.2022 |
7 | NP and Computational Intractability | 8 | 03.11.2022 | 13.11.2022 |
8 | Practice Exam | All of the above | 05.11.2022 | 15.11.2022 |
9 | Tractability and Approximation | 10 and 11 | 11.11.2022 | No Delivery |
If you already have 5 assignments approved these assignments are optional, use them to prepare for the exam instead.
If you are missing an assignment in order to get 5 approved due to there being 1 less assignment, contact srinivasa.r.satti@ntnu.no.
The assignments will be given out on Blackboard where each assignment has a written theoretical part and a programming part in Python using Jupyter Notebook. The notebook task can be solved locally (for instance in VSCode), or you can uploaded the notebook to JupyterHub and run the code there.
The notebooks will guide you though a, more or less, specific solution to a problem. You are however encouraged to attempt to implement your own/other solutions, as long as:
- You don’t use any additional libraries/packages.
- You don’t alter the input values or structures.
- Your solution solves the problem described in the assignment.
The final exercise will be a practice exam. It will have problems similar to what you would get on the exam. As this is a new course, there are no previous exams, meaning that doing and getting this assignment graded could help you prepare for the exam. Therefore we highly recommend that you do assignment 9, even if you already have all your six assignments approved.
Delivery
To deliver an assignment you have to make sure you deliver both parts. You can deliver as many times as you want until the deadline on Blackboard.
Delivery should be done in two separate files according to the following specifications:
Theoretical Part
The theoretical question answers must be uploaded as PDF, how you answer the questions (handwritten scans, Word, iPad, LaTeX etc.) doesn’t matter, as long as they are delivered as a single PDF file and the answers are readable.
The filename should contain your name, for instance: JohnSmith-01-theory.pdf
Programming Part
The notebook should be delivered in full (as .ipynb). That way the TAs can easily run your code and verify the output. If you want, there is also a possibility to convert the notebooks to PDF with all the output. This can be delivered in addition to the notebook itself, if you are worried the TAs might get different results when they run your code.
The filename should contain your name, for instance: JohnSmith-01-programming.ipynb
Assessment
To get an assignment approved we will in general only require that you have made a solid effort in solving each task, and that you show that you understand the relevant curriculum, even if you get some answers wrong (everone makes mistakes!). It is important that you show you understand the curriculum and the questions.
As a general rule you need approximately 60% correct to get the assignment approved.
Remember that if you get stuck we have student assistants avaliable (see the section below).
Assignment Assistance
Some of the tasks in the assignments can be challenging, but there will be student assistants available if get stuck.
You can get help or technical assistance with the assignments from our student assistants during the following hours:
Day | Time | Student Assistants |
---|---|---|
Monday | 12:00 - 14:00 | |
Tuesday | 10:00 - 12:00 | |
Wednesday | 12:00 - 14:00 | |
Thursday | 10:00 - 12:00 | |
Friday | 11:00 - 13:00 |
Location | A4-156 |
---|