Topic outline

  • Welcome!

    If you are a student on the course, see the FAQ below and the sub-pages Taking the course, Exercise sessions, and Assessment and grading for more information.

    Course FAQ

    • How do I sign up? - Use SISU
    • Is attendance to lectures/exercise sessions mandatory? - No, but highly recommended (especially the exercise sessions)
    • So, can I do course work remotely? - In principle, but it is not recommended. The course reading material and exercise submissions will be available online. However, lectures, exercise sessions, and the exam will be held on-campus - meaning that learning remotely will be harder.
    • Will there be an exam? - Yes, for those who want a high grade
    • Can I pass the course without the exam? - Yes (with a low grade)
    • Can I pass the course by just only taking the exam? - No
    • When/where is the exam? - The exam is in person on the Aalto campus 23.05.2024, 17:00--20:00
      • Do I have to sign up for the exam? - Yes, because Programming 2 is a large course, you must sign up for the exam
      • How/where do I sign up for the exam? -  In SISU between 23.03.2024 -- 15.05.2024
      • Will there be a retake exam? - Yes, later in 2024. The date will be announced here during the course.
      • Are there old exams - Some previous exam papers can be found at the (unofficial) tenttiarkisto.fi service.
    • Can I work together with someone on the exercises? - No, the exercises solutions should be individual.
    • Can I use AI tools such as ChatGPT/Copilot/et c. to solve assignments on the course? - No, for the same reasons as you cannot collaborate on exercises; this is considered cheating.

    Course Information

    Course contents

    • Computer architecture, binary data, and logic.
    • Programming abstractions and analysis of program performance.
    • Aspects of functional programming, e.g. recursive definitions and recursion.
    • Concurrent programs
    • Introduction to computer science and problem-solving with algorithms.

    General information

    Language

    Programming 2 is taught in English. CS-A1120 is shared between several majors in Teknistieteellinen kandidaattiohjelma / Kandidatprogrammet i teknikvetenskap (Finnish/Swedish) and Aalto Batchelor’s Programme in Science and Technology (English), therefore the common language is English. However, our teaching staff speak several languages. In many sessions it will be possible to get help in other languages than English, e.g. Finnish (although you may need to wait for your turn).

    Prerequisites

    Please note that the main programming language in this course is Scala 3, and that CS-A1110 Ohjelmointi 1 / CS-A1110 Programming 1 is a prerequisite when taking this course. (This is non-strict. Students without CS-A1110 but with equivalent programming knowledge may still apply, but knowledge of Scala and the contents covered in CS-A1110 - or the ability to learn this quickly and independently before the course starts - is assumed.)

    Registering
    Make sure that you are registered to the course in SISU before the registration period ends! Note that course staff do not have the right to manually enrol students. If you experience issues when registering please contact Aalto University Learning Services.

    Alternative courses

    The focus of Programming 2 is computing architecture, programming techniques, and individual problem solving. Course content is mainly targeted to majors in School of Science as well as the advanced study path of the Computer Science minor. If you have previously programmed in Python, for example by completing CS-A1113 Basics in Programming Y1 or CS-A1111 Ohjelmoinnin peruskurssi Y1, you may be looking for the the courses CS-A1123 Basics in Programming Y2 or CS-A1121 Ohjelmoinnin peruskurssi Y2. These are offered in Python, and have a broader focus.

    Important: if you are unsure whether you should take this Scala-based course CS-A1120 or the Python version CS-A1121/1123, please consult your study guide or a planning coordinator of your study programme as soon as possible!

    Re-taking the course

    If you have previously passed the course with a grade and wish to re-take CS-A1120 for a chance to increase your grade, Aalto University Regulations allow most students to do so once. Important: you must re-register to the course, however. Contact Aalto Student Services to ask about retaking CS-A1120 if you already passed the course.

    If you re-take CS-A1120, no exercise points will be transferred from your previous attempt, but you are of course free to re-use any previous solutions you wrote yourself, should some of the exercises be the same.


    Welcome!