Topic outline

  • Prerequisites

    This is a Master's level course in Computer Science. The prerequisites are:
    • Programming skills in some procedural language such as Python, Java, Scala or C++. We use Python in some exercises and you should be able to learn the syntax of Python quickly if you don't know it already.
    • Fundamental data structures and algorithms, for instance the Aalto course "CS-A1140 Data Structures and Algorithms".
    • Basics on discrete mathematics.
    • Basics of propositional logic covered, e.g., in the Aalto course "CS-E4800 Artificial Intelligence". But a sufficient recap will be provided in Round 1.


    In order to pass the course, one must:

    1. Pass the online exercises (see below) by getting a certain amount of points from them.
    2. And pass an exam before the next course instance starts in September 2022.
      The exams are as follows:
      • On December 20, 2021.
        The "course exam", registration for the course in Sisu is necessary and sufficient for taking part in this exam.
      • On February 22, 2022 (a regular exam, a separate registration in Sisu is required).

    The exams will be graded, as usual, with a grade from 0 to 5, 0 meaning "not passed".
    The grade from the online exercises will be determined by the following point limits:
    • grade 0: 0 - 199 points
    • grade 1: 200 - 349 points
    • grade 2: 350 - 499 points
    • grade 3: 500 - 649 points
    • grade 4: 650 - 799 points
    • grade 5: 800 or more points
    The total grade from the course is the rounded average of the exam grade and the online exercises grade, with the exception that both the online exercises and the exam must be passed. This is illustrated in the following table, where the x-axis gives the exam grade and the y-axis gives the online exercises points.
    Total grade calculation
    Exam grade
    0 1 2 3 4 5
    0 - 199 0 0 0 0 0 0
    200 - 349 0 1 2 2 3 3
    350 - 499 0 2 2 3 3 4
    500 - 649 0 2 3 3 4 4
    650 - 799 0 3 3 4 4 5
    800 - 0 3 4 4 5 5

    Online exercises

    The obligatory online exercises are provided in the A+ system at
    They are also divided in ten rounds and each round has two deadlines:
    • Main full points deadline is roughly 2 weeks after the start of the round. Completing an exercise correctly before this deadline provides full points for the exercise.
    • Late submission deadline is after the full points deadline but before the December 2021 exam. Only 70 percent of the full points will be awarded for correct solutions submitted after the full points deadline but before the late submission deadline of the round.
    Submitting solutions after the late submission deadlines is not possible. The deadline dates and times are shown in the A+ system.

    Validity of the exercise points and personal extensions:

    • The exercise points obtained during Autumn 2021 are valid in all the exams before the next course instance starts in September 2022.
    • The exercise points from the previous course instance(s) are not valid anymore.
    • Personalized arrangements, including deadline extensions etc, can only be considered on the basis of non-short-term medical reasons (a certificate from the study administration is required), please contact a lecturer in such a case but do not provide any documents until explicitly asked for.

    The online exercises are personal assignments and thus, for instance, producing code together, copying code from others, and making one's own solutions available to others (either privately or by posting to some public forum) is not allowed. Discussing general concepts and techniques with fellow students is of course allowed, even encouraged, as long as the level of details is abstract enough so that the submitted solutions of the participating students do not start to look similar.

    Online exercise sessions and discussion forum

    In case you need help with the assignments, you can visit an exercise session or post a question in our discussion forum.
    The discussion forum, used to organize the exercise sessions as well, can be found at; please read these instructions for the details first!
    Due to the corona virus situation, the exercise sessions will be online only.
    The weekly exercise session schedule is:
    • Tuesdays 14:16-16:00
    • Fridays 12:15-14:00
    The exercise sessions are organized between September 17th and December 7th. Exceptions:
    • No exercise sessions from October 25 to October 29 due to the evaluation week. Naturally, you can continue solving and submitting the online exercises during this period as well if you wish, but there will be no exercise sessions or deadlines then.