A+ will have a maintenance break for a version upgrade on Tuesday August 23rd 2022, starting at 9:00 A.M. The site will not be available during the break. The break is expected to last for three hours, but site will be available as soon as the upgrade is complete. More information.
This course has already ended.

Luet oppimateriaalin englanninkielistä versiota. Mainitsit kuitenkin taustakyselyssä osaavasi suomea. Siksi suosittelemme, että käytät suomenkielistä versiota, joka on testatumpi ja hieman laajempi ja muutenkin mukava.

Suomenkielinen materiaali kyllä esittelee englanninkielisetkin termit. Myös suomenkielisessä materiaalissa käytetään ohjelmaprojektien koodissa englanninkielisiä nimiä kurssin alkupään johdantoesimerkkejä lukuunottamatta.

Voit vaihtaa kieltä A+:n valikon yläreunassa olevasta painikkeesta. Tai tästä: Vaihda suomeksi.


This course, Programming 1, is not a lecture course. Listening to lectures is not the way you’re going to learn to program.

All you need to do to get started is go to Chapter 1.1 of the course ebook and start studying. The ebook explains how the course works; it will also tell you which programming tools to install and guide you as you start practicing.

Please come to the frequent lab sessions. There, you can get help on the assignments from the course staff. You can also discuss the programming assignments and other topics on our online forums (see Chapter 1.1).

All that being said, the Fall 2019 incarnation of Programming 1 does have three lectures. The first two are in Finnish only, and none of the three is mandatory or particularly important. Please do not worry: you won’t miss out on anything important even if you don’t know Finnish. The two lectures at the start of the course are largely for orientation; everything that’s said there is also covered in detail by the ebook, in English.

The third “lecture” at the end of the course, which will be mainly in English, is also not really about covering new course content; see below.

Date Time Location Description
Wed Sep 11th, 2019 15–17 Hall T1, Computer Science building, Konemiehentie 2, Espoo FINNISH ONLY. An introduction to Programming 1 and some first-week topics. You will find all this information in English in the ebook, mostly in Chapter 1.1.
Wed Sep 18th, 2019 15–17 Hall B, Undergraduate Center, Otakaari 1, Espoo (NOTE: CHANGED LOCATION) FINNISH ONLY. A short review of what happened in Week 1 and how we’re going to continue with the rest of the fall term. An introduction to selected upcoming topics; you can find the same information in English in Chapter 2.1 of the ebook.
Wed Dec 11th, 2019 15–17 Hall T1, Computer Science building, Konemiehentie 2, Espoo MAINLY IN ENGLISH. An end-of-course event. We’ll take a look at what you the students have achieved, reflect on what has been learned and what hasn’t, and point up some follow-on courses.



Thousands of students have given feedback that has contributed to this ebook’s design. Thank you!

Weeks 1 to 13 of the ebook, including the assignments and weekly bulletins, have been written in Finnish and translated into English by Juha Sorva.

Weeks 14 to 20 are by Otto Seppälä. That part of the ebook isn’t available during the fall term, but we’ll publish it when it’s time.

The appendices (glossary, Scala reference, FAQ, etc.) are by Juha Sorva unless otherwise specified on the page.

The automatic assessment of the assignments has been developed by: (in alphabetical order) Riku Autio, Nikolas Drosdek, Joonatan Honkamaa, Jaakko Kantojärvi, Niklas Kröger, Teemu Lehtinen, Strasdosky Otewa, Timi Seppälä, Teemu Sirkiä, and Aleksi Vartiainen.

The illustrations at the top of each chapter, and the similar drawings elsewhere in the ebook, are the work of Christina Lassheikki.

The animations that detail the execution Scala programs have been designed by Juha Sorva and Teemu Sirkiä. Teemu Sirkiä and Riku Autio have done the technical implementation, relying on Teemu’s Jsvee and Kelmu toolkits.

The other diagrams and interactive presentations in the ebook are by Juha Sorva.

The O1Library software has been developed by Aleksi Lukkarinen and Juha Sorva. Several of its key components are built upon Aleksi’s SMCL library.

The pedagogy behind O1Library’s tools for simple graphical programming (such as Pic) is inspired by the textbooks How to Design Programs by Flatt, Felleisen, Findler, and Krishnamurthi and Picturing Programs by Stephen Bloch.

The course platform A+ has been created by Aalto’s LeTech research group and is largely developed by students. The current lead developer is Jaakko Kantojärvi; many other students of computer science and information networks are also active on the project.

For O1’s current teaching staff, please see Chapter 1.1.

Additional credits appear at the ends of some chapters.

a drop of ink
Posting submission...