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.

    Grading

    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 2023.
      The exams are as follows:
      • On December 12, 2022. The "course exam", registration for the course in Sisu is necessary and sufficient for taking part in this exam.
      • On February 21, 2023 (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
    Online
    exercises
    points
    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 https://plus.cs.aalto.fi/cs-e3220/2022/.
    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 2022 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 2022 are valid in all the exams before the next course instance starts in September 2023.
    • 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 to do so.

    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.

    Exercise sessions and discussion forum

    In case you need help with the exercises, you can visit an exercise session (preferred) or post a question in our Zulip chat forum. Do not post any solution code directly in Zulip but use the "Code vault" service in the A+ page of the course.
    The discussion forum can be found at https://cs-e3220-2022.zulip.aalto.fi/.
    The weekly exercise session schedule is:
    • Mondays 12:15-14:00(T8 of the Computer Science building)
    • Thursdays 16:15-18:00 (Y342a of the Undergraduate Centre)
    The exercise sessions are organized between September 8th and November 24. Exceptions:
    • No exercise sessions between October 17--21 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.