Login is required to submit assignments, but you may anonymously explore the course material.

Course news

Pinned news item on top of the list

Project: Hike-and-seek

Grading

grade= math.round(points/1000)

A couple of examples of rounding to a grade, provided that all pass criteria is OK:

  • 3500p → grade 4
  • 3499p → grade 3
  • 850p → grade 1
  • 849p → grade 0 (an exception to the formula due to the pass criteria)

Show:

0 / 20 2. Git

Monday, 28 October 2024, 00:00 – Friday, 6 December 2024, 23:59

Assignment Category Submissions Points
2.1 Git and Gitlab
2.2 Hello Gitlab
2.2.1 Clone the git repo exercises 0 / 10
2.3 Course-upstream to pull new instructions
2.3.1 Set the course-upstream exercises 0 / 10

Monday, 21 October 2024, 00:00 – Sunday, 3 November 2024, 23:59

Assignment Category Submissions Points
4.1 Course topics 3 and 4
4.1.1 Divide and conquer _theory 0 / 4
4.1.2 Quicksort _theory 0 / 8
4.1.3 Mergesort _theory 0 / 8
4.1.4 Questions about this week's lecture videos _theory 0 / 5
4.1.5 Big-O, -Omega and -Theta _theory 0 / 12
4.1.6 Best, worst and average case _theory 0 / 4
4.1.7 Algorithm efficiency for mergesort and quicksort _theory 0 / 4
4.1.8 Questions about this week's lecture videos _theory 0 / 5
4.2 Course topic 3 exercises
4.2.1 Exercise Performance exercises 0 / 40
4.2.2 Sum as a recursion exercises 0 / 10
4.2.3 Digit sum as a recursion exercises 0 / 10
4.3 Course topic 4 exercises
4.3.1 searchSmallestMissingIteration() exercises 0 / 20
4.3.2 searchSmallestMissing() exercises 0 / 20
4.3.3 Quicksort exercises 0 / 20
4.3.4 Mergesort exercises 0 / 20
4.4 Programming project 1
4.4.1 Project 1 documentation
4.4.2 Prg1 starting exercises
4.4.2.1 Orientation exercises 0 / 40
4.4.2.2 Exercise testing exercises 0 / 80
4.5 Session activity
4.5.1 Activity exercises 0 / 30
4.6 Attendance and participation on the weekly exercise session
4.6.1 Weekly exercise session exercises 0 / 25

0 / 410 5. STL library

Monday, 28 October 2024, 00:00 – Sunday, 10 November 2024, 23:59

Assignment Category Submissions Points
5.1 Course topics 5, 6 and 7
5.1.1 Standard template library (STL) _theory 0 / 4
5.1.2 STL Containers _theory 0 / 4
5.1.3 STL container performance _theory 0 / 4
5.1.4 STL iterators _theory 0 / 4
5.1.5 Iterator performance and categories _theory 0 / 4
5.1.6 Questions about this week's lecture videos _theory 0 / 5
5.1.7 STL algorithms _theory 0 / 4
5.1.8 Examples using STL algorithms _theory 0 / 4
5.1.9 Lambda functions _theory 0 / 4
5.1.10 Lambda functions and variable captures _theory 0 / 4
5.1.11 Tuning STL algorithms and containers _theory 0 / 4
5.1.12 Questions about this week's lecture videos _theory 0 / 5
5.2 Course topic 5 exercises
5.2.1 big-O exercises 0 / 30
5.2.2 Exercise Asymptotic exercises 0 / 50
5.2.3 Drilling algorithms & complexities exercises 0 / 20
5.3 Course topic 6 exercises
5.3.1 Iterators exercises 0 / 32
5.3.2 STL containers exercises 0 / 48
5.3.3 Drilling asymptotic exercises 0 / 15
5.3.4 Drill iteration exercises 0 / 20
5.4 Course topic 7 exercises
5.4.1 STL-algorithm 1, sort asc exercises 0 / 10
5.4.2 STL-algorithm 2, sort desc exercises 0 / 10
5.4.3 STL-algorithm 3, find a given value exercises 0 / 10
5.4.4 STL-algorithm 4, find the last even value exercises 0 / 10
5.4.5 STL-algorithm 5, sort mod 3 exercises 0 / 10
5.4.6 STL-algorithm 6, find value from a map exercises 0 / 10
5.4.7 STL-algorithm 7, find median exercises 0 / 10
5.4.8 STL-algorithm 8, remove values exercises 0 / 10
5.5 Grading, learning, motivation
5.5.1 Grading exercises 0 / 10
5.6 Session activity
5.6.1 Activity exercises 0 / 30
5.7 Attendance and participation on the weekly exercise session
5.7.1 Weekly exercise session exercises 0 / 25

0 / 561 6. Trees (e.g. heaps)

Monday, 4 November 2024, 00:00 – Sunday, 24 November 2024, 23:59

Assignment Category Submissions Points
6.1 Course topics 8 and 9
6.1.1 Trees _theory 0 / 6
6.1.2 Tree data structures and traversals _theory 0 / 4
6.1.3 Invalidation _theory 0 / 2
6.1.4 Amortized performance _theory 0 / 3
6.1.5 Verifying asymptotic performance _theory 0 / 3
6.1.6 Tips for increasing actual performance _theory 0 / 4
6.1.7 Randomization _theory 0 / 2
6.1.8 Questions about this topic's video lectures _theory 0 / 5
6.1.9 Heap _theory 0 / 12
6.1.10 Heap as an array _theory 0 / 3
6.1.11 Questions about this topic's videos _theory 0 / 6
6.2 Course topic 8 exercises
6.2.1 Trees exercises 0 / 16
6.2.2 C++ structs for a node of the tree, exercise 1 exercises 0 / 5
6.2.3 C++ structs for a node of the tree, exercise 2 exercises 0 / 5
6.2.4 Pre-order traversal exercises 0 / 7
6.2.5 In-order traversal exercises 0 / 7
6.2.6 Post-order traversal exercises 0 / 7
6.2.7 Iterator invalidation 1, ascendingVector exercises 0 / 10
6.2.8 Iterator invalidation 2, eraseEverySecond exercises 0 / 10
6.2.9 Iterator invalidation 3, duplicateEvenRemoveUneven exercises 0 / 20
6.3 Course topic 9 exercises
6.3.1 Heap insert exercises 0 / 20
6.3.2 Heap remove exercises 0 / 20
6.3.3 Heap build exercises 0 / 20
6.3.4 Heapsort exercises 0 / 20
6.4 Valgrind
6.4.1 Valgrind, the memory management analyser
6.4.2 Exercising valgrind
6.4.2.1 Exercise valgrind exercises 0 / 20
6.4.3 Valgrind tools
6.5 Project Functionality test: Basic Places
6.5.1 Functionality tests (compulsory) exercises 0 / 45
6.6 Watching lecture videos - part1
6.6.1 Watching lecture videos 'Algorithms and pseudocode' _theory 0 / 40
6.6.2 Watching lecture videos 'Measuring efficiency' _theory 0 / 40
6.6.3 Watching lecture videos 'Divide-and-conquer' _theory 0 / 39
6.6.4 Watching lecture videos 'Big-O, -Omega and -Theta' _theory 0 / 35
6.6.5 Watching lecture videos 'STL library' _theory 0 / 35
6.6.6 Watching lecture videos 'STL algorithms' _theory 0 / 35
6.7 Session activities
6.7.1 Activity exercises 0 / 30
6.8 Attendance and participation on the weekly exercise session
6.8.1 Weekly exercise session exercises 0 / 25

Monday, 11 November 2024, 00:00 – Sunday, 24 November 2024, 23:59

There may be changes in the assignments before the module opens!
Assignment Category Submissions Points
7.1 Course topics 10, 11 and 12
7.1.1 Graphs _theory 0 / 2
7.1.2 Breadth first search (BFS) _theory 0 / 4
7.1.3 Depth first search (DFS) _theory 0 / 2
7.1.4 Implementing graphs in C++ _theory 0 / 2
7.1.5 Weighted graphs _theory 0 / 4
7.1.6 Dijkstra _theory 0 / 4
7.1.7 A-star _theory 0 / 4
7.1.8 Questions about this week's videos _theory 0 / 5
7.2 Course topic 10 exercises
7.2.1 ascendingVector exercises 0 / 10
7.2.2 minValue exercises 0 / 10
7.2.3 cumulativeSums exercises 0 / 10
7.2.4 randomizedThreePartQuicksort exercises 0 / 10
7.3 Course topic 11 exercises
7.3.1 Breadth First Search exercises 0 / 30
7.3.2 Depth First Search exercises 0 / 30
7.4 Course topic 12 exercises
7.4.1 Dijkstra's algorithm exercises 0 / 40
7.5 Session activities
7.5.1 Activity exercises 0 / 30
7.6 Attendance and participation on the weekly exercise session
7.6.1 Weekly exercise session exercises 0 / 25

Monday, 18 November 2024, 00:00 – Sunday, 1 December 2024, 23:59

There may be changes in the assignments before the module opens!
Assignment Category Submissions Points
8.1 Course topic 12
8.1.1 Hashtables _theory 0 / 20
8.1.2 Questions about this week's videos _theory 0 / 5
8.1.3 Binary search trees _theory 0 / 6
8.1.4 The efficiency of binary search trees operations _theory 0 / 4
8.1.5 Questions about this week's videos _theory 0 / 5
8.2 Course topic 13 exercises
8.2.1 Open hashing exercises 0 / 20
8.2.2 Hash tables exercises 0 / 60
8.3 Session activity
8.3.1 Activity exercises 0 / 30
8.4 Attendance and participation on the weekly exercise session
8.4.1 Weekly exercise session exercises 0 / 25

Monday, 2 December 2024, 00:00 – Sunday, 8 December 2024, 23:59

There may be changes in the assignments before the module opens!
Assignment Category Submissions Points
9.1 Session activity
9.1.1 Activity exercises 0 / 30
9.2 Q&A attendance
9.2.1 Q_A attendance _theory 0 / 20

0 / 600 10. PRG1

Tuesday, 5 November 2024, 00:01 – Sunday, 1 December 2024, 23:59
Late submissions are allowed until Tuesday, 3 December 2024, 23:59. However, points are only worth 80%.
200 points required to pass the module.

Assignment Category Submissions Points
10.1 Assignment graders
10.1.1 Functionality tests
10.1.1.1 Functionality tests (compulsory) prg1 0 / 1
10.1.2 Integration tests
10.1.2.1 Integration tests (compulsory) prg1 0 / 1
10.1.3 Compile pedantically
10.1.3.1 Compile pedantically prg1 0 / 1
10.1.4 Perftests
10.1.4.1 get_place_count prg1 0 / 1
10.1.4.2 all_places prg1 0 / 1
10.1.4.3 get_place_name prg1 0 / 1
10.1.4.4 add_place prg1 0 / 1
10.1.4.5 get_place_coord prg1 0 / 1
10.1.4.6 find_places_with_coord prg1 0 / 1
10.1.4.7 get_places_alphabetically prg1 0 / 1
10.1.4.8 get_places_distance_increasing prg1 0 / 1
10.1.4.9 all_areas prg1 0 / 1
10.1.4.10 get_area_name prg1 0 / 1
10.1.4.11 get_area_coords prg1 0 / 1
10.1.4.12 change_place_coord prg1 0 / 1
10.1.4.13 change_place_name prg1 0 / 1
10.1.4.14 ancestor_areas_of_subarea prg1 0 / 1
10.1.5 Valgrind
10.1.5.1 Valgrind prg1 0 / 1
10.1.6 Docs grader
10.1.6.1 Documentation contains complexities in an agreed format prg1 0 / 1
10.1.7 Perfestimate
10.1.7.1 Perfestimate prg1 0 / 1
10.1.8 Final project 1 grader
10.1.8.1 Final Assignment Grader prg1 0 / 580

0 / 400 11. PRG1-OPT

Tuesday, 5 November 2024, 00:01 – Sunday, 8 December 2024, 23:59
Late submissions are allowed until Tuesday, 10 December 2024, 23:59. However, points are only worth 80%.

Assignment Category Submissions Points
11.1 Optional graders
11.1.1 all_subareas_of_area
11.1.1.1 all_subareas_of_area prg1-opt 0 / 100
11.1.2 get_closest_common_ancestor_of_areas
11.1.2.1 get_closest_common_ancestor_of_areas prg1-opt 0 / 100
11.1.3 remove_place
11.1.3.1 remove_place prg1-opt 0 / 100
11.1.4 get_places_closest_to
11.1.4.1 get_places_closest_to prg1-opt 0 / 100

Monday, 11 November 2024, 00:01 – Sunday, 15 December 2024, 23:59
Late submissions are allowed until Tuesday, 17 December 2024, 23:59. However, points are only worth 80%.

There may be changes in the assignments before the module opens!
Assignment Category Submissions Points
12.1 Project 2 documentation
12.2 Project 2 graders (compulsory)
12.2.1 Assignment graders (compulsory)
12.2.1.1 Functionality tests
12.2.1.1.1 Functionality tests (compulsory) prg2 0 / 70
12.2.1.2 Integration tests
12.2.1.2.1 Integration tests (compulsory) prg2 0 / 70
12.2.1.3 Valgrind
12.2.1.3.1 Valgrind prg2 0 / 10
12.2.1.4 Docs grader
12.2.1.4.1 Documentation contains complexities in an agreed format prg2 0 / 10
12.2.1.5 Perftests
12.2.1.5.1 get_way_coords prg2 0 / 80
12.2.1.5.2 get_ways_from prg2 0 / 80
12.2.1.5.3 route_any prg2 0 / 80
12.3 Project 2 graders (optional)
12.3.1 Assignment graders (optional)
12.3.1.1 route_shortest_distance
12.3.1.1.1 route_shortest_distance prg2-opt 0 / 150
12.3.1.2 route_least_crossroads
12.3.1.2.1 route_least_crossroads prg2-opt 0 / 150
12.3.1.3 route_with_cycle
12.3.1.3.1 route_with_cycle prg2-opt 0 / 150
12.3.1.4 trim_ways
12.3.1.4.1 trim_ways prg2-opt 0 / 150

Wednesday, 11 December 2024, 12:00 – Wednesday, 18 December 2024, 23:59

There may be changes in the assignments before the module opens!
Assignment Category Submissions Points
13.1 Prp tests
13.1.1 Performance test for PRG1 for PRP prp 0 / 200
13.2 Prp comments grader
13.2.1 Comment grader for PRG1 PRP prp 0 / 150

Monday, 9 December 2024, 00:00 – Sunday, 15 December 2024, 23:59

There may be changes in the assignments before the module opens!
Assignment Category Submissions Points
14.1 Watching lecture videos - part2
14.1.1 Watching lecture videos 'Trees' _theory 0 / 35
14.1.2 Watching lecture videos 'Amortized complexity' _theory 0 / 35
14.1.3 Watching lecture videos 'Heaps' _theory 0 / 35
14.1.4 Watching lecture videos 'Graphs, BFS, DFS' _theory 0 / 35
14.1.5 Watching lecture videos 'Weighted graphs' _theory 0 / 35
14.1.6 Watching lecture videos 'Hashtables' _theory 0 / 35
14.1.7 Watching lecture videos 'Balanced binary trees' _theory 0 / 35
14.2 Peer feedback
14.2.1 Load PRP feedback to your repo prp 0 / 0
14.3 Review the AI feedback
14.3.1 Comment grader for PRG1 PRP prp 0 / 50
14.4 Peer review validator
14.4.1 Peer validation based on Plussa submits prp 0 / 95
14.4.2 AI validates Peer review prp 0 / 1
14.4.3 Rate AI feedback prp 0 / 4
14.5 Exam
14.5.1 Exam x_exam 0 / 100
14.6 Grading, learning, motivation, the end survey
14.6.1 Grading, end-survey exercises 0 / 52

_theory

0 / 900

exercises

0 / 1500

prg1

0 / 600

prg1-opt

0 / 400

prg2

0 / 400

prg2-opt

0 / 600

prp

0 / 500

x_exam

0 / 100