General
Welcome to CS-A1120 Programming 2 - 2021
Quick links
FAQ
- Don't forget to sign up for the course at oodi
- The course lectures are delivered as recorded videos
- All course notes are available online (please read them; there is no course book)
- Exercises are delivered via A+
-
Passing the course is done by accumulating a sufficient number of exercise points for grade 1. (There is no exam in this edition of the course.)
Course contents
- The course material is collected in an extensive set of course notes.
- The course consists of 11 rounds, each round has an associated set of exercises.
Round |
Material |
Main exercise deadline (100%) |
Extended deadline (70%) |
---|---|---|---|
1. Warmup |
(video, slides, notes,
exercises) |
March 16, 2021 |
|
2. Bits and data |
(video, slides, notes, exercises) | March 12, 2021 |
March 23, 2021 |
3. Combinational logic |
(video, slides, notes, exercises) | March 19, 2021 |
March 30, 2021 |
4. Sequential logic |
(video, slides, notes, exercises) | March 26, 2021 |
April 6, 2021 |
5. A programmable computer |
(video, slides, notes, exercises) | April 7, 2021 |
April 27, 2021 |
6. Collections and functions |
(video, slides, notes, exercises) | April 21, 2021 |
May 4, 2021 |
7. Efficiency |
(video, slides, notes, exercises) | April 28, 2021 |
May 11, 2021 |
8. Recursion |
(video, slides, notes, exercises) | May 7, 2021 |
May 18, 2021 |
9. Concurrency and parallelism |
(video, slides, notes, exercises) | May 14, 2021 |
May 25, 2021 |
10. Virtualization and scalability |
(video, slides, notes, exercises) | May 21, 2021 |
June 1, 2021 |
11. Machines that learn? |
(video, slides, notes, exercises) | May 28, 2021 |
June 4, 2021 |
Course information and exercises
Workload
Deadlines
-
The exercises on each round have two deadlines per round:
- a main deadline, and
- an extended deadline.
- Exercises returned within the main deadline are graded with full points
- After the main deadline is reached, there is an extended deadline
- Exercises returned after the main deadline but before the extended deadline are graded and given 70% of the full points
- It is not possible to return the exercises for grading after the extended deadline

Normal exercises and challenge exercises
The exercises in each round are divided into normal exercises and challenge exercises. The challenge exercises are meant to be programming puzzles, which you can use to challenge yourself. Note that some of the challenge exercises are intentionally made
to be much more laborious than the normal exercises, and that the course can be passed with the grade 5 by only solving normal exercises. Only try to solve the challenge problems if you feel you need more challenge from this course and
you have the enthusiasm and time to work on them! Note also, that the teaching assistants will mainly only help with the normal exercises.
Working on the exercises
- Programming is both an individual and group activity, where sufficient individual skills lays the basis for productive group work. The idea of the course CS-A1120 Programming 2 is to work individually to achieve sufficient individual programming skills. Because writing code independently is a compulsory skill for a programmer, writing code together with someone is forbidden in this course.
- Each students solves and returns the exercises for grading by themselves as confidential and individual solutions. Confidentiality here means that you are not allowed to share your solutions individually or publicly so that the other students independent programming skills suffer or that they cannot be evaluated based on the returned solutions, for example because the program code was copied
- More information:
-
Please note that because this is a very large course, the course staff will not be able to provide help on solving exercises via email or direct messages.
-
If you need help, please come to our remote exercise sessions on Zulip! where you can request one-on-one help in our lab queue.
Software

Grading
The course is graded as follows. It is possible to get 200 points (including bonus for providing feedback) from the warmup round and at least 400 points from each of the the other 10 rounds. In addition, solving challenge problems allows for more points. The course grade is determined by summing up the points from all of the rounds. The sum includes all point including the ones from normal exercises, challenge exercises, and feedback. After the sum is computed the grade is determined by reading it from the following scale:
- less than 1200 points -- failed,
- at least 1200 points -- grade 1,
- at least 1900 points -- grade 2,
- at least 2600 points -- grade 3,
- at least 3300 points -- grade 4,
- at least 4000 points -- grade 5.
- Responsible teacher for the course is Assistant Professor Shaofeng Jiang (firstname.lastname@aalto.fi)
- Exercise sessions are led by University Teacher Lukas Ahrenberg (firstname.lastname@aalto.fi)
The best way to discuss course content and to get help with exercises and ask questions is via our Zulip workspace.
Please note that
because this is a very large course, the course staff will not be able
to provide help on solving exercises via email or DMs.