This course has already ended.

The latest instance of the course can be found at: O1: 2024

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.

Kieli vaihtuu A+:n sivujen yläreunan painikkeesta. Tai tästä: Vaihda suomeksi.


Lab Sessions

Teaching assistants support your programming studies at lab sessions, also known simply as “labs”. There are several labs every day between September 8th and December 7th, 2022. This is where you can come to discuss programming with the course staff and get help on the assignments.

Most labs are at the Maarintalo building (Sähkömiehentie 3, Espoo) in the classroom Maari-A. However, some of the sessions are instead online on Zoom, as explained below on this page. Please note that in certain weeks, the on-campus labs are in a different classroom than usual, which is also detailed below.

(In addition to the labs; we provide a Piazza discussion board and a group on Telegram; see Chapter 1.1.)

Aalto students only, sorry!

The lab sessions described on this page are only open to students with an Aalto user account. Resources permitting, we might choose to open some of the sessions to other students as well, in which case we’ll announce that separately. The Piazza forum and Telegram group are there for all students, including those external to Aalto.

The sessions start a quarter past the indicated hour, but you can come and go as you please. There’s no set agenda: you can come to a session to work on the assignments and ask for advice as the need arises.

Participation is voluntary but highly recommended. You don’t need to — and can’t — sign up in advance.

The assistants can help you in English, Finnish, and (at some sessions) Swedish.

Time

Dates

Usual location

Exceptions

Teaching Assistants

Mon
8–10
From
Sep 12th, 2022

Maari-A

Oct 10th and 17th
in room Maari-B
GuTing Huang (English only),
Inka Viita
Mon
10–12
From
Sep 12th, 2022

Maari-A

Oct 10th and 17th
in room Maari-B
Jesper Sundqvist (also in Swedish),
Joonatan Honkamaa
Mon
12–14
From
Sep 12th, 2022

Maari-A

Oct 10th and 17th
in room Maari-B
Hiep Nguyen (English only),
Ilya Nekrasov (English only)
Mon
14–16
From
Sep 12th, 2022

Maari-A

Oct 10th and 17th
in room Maari-B
Ilya Nekrasov (English only),
Samu Paakkari, Mikael Lenander
Mon
16–18
From
Sep 12th, 2022

Maari-A

Oct 10th and 17th
in room Maari-B
Hiep Nguyen (English only),
Lilli Peura, Onni Miettinen,
Aleksi Hannula
Mon
16–18
From
Sep 12th, 2022

Remote via Zoom

Jesper Sundqvist (also in Swedish)

Mon
18–20
From
Sep 12th, 2022

Maari-A

Oct 10th and 17th
in room Maari-B
Duong Le (English only), Lilli Peura,
Stepan Katovich
Tue
8–10
From
Sep 13th, 2022

Maari-A

Oct 11th and 18th in room
T8 of the CS building
No teaching on Dec 6th (Finnish independence day).
Elja Saksman,
Siiri Keränen
Tue
10–12
From
Sep 13th, 2022

Maari-A

Oct 11th and 18th in room
T8 of the CS building
No teaching on Dec 6th (Finnish independence day).
Aleksi Hannula, Olli Ullgren,
Hilkka Gröhn
Tue
12–14
From
Sep 13th, 2022

Maari-A

Oct 11th and 18th in room
T8 of the CS building
No teaching on Dec 6th (Finnish independence day).
Inka Viita, Linnea Risku,
Pyry Satama
Tue
14–16
From
Sep 13th, 2022

Maari-A

Oct 11th and 18th in room
T8 of the CS building
No teaching on Dec 6th (Finnish independence day).
Georgy Ananov (English only),
Linnea Risku, Siiri Keränen,
Julia Sippala
Tue
16–18
From
Sep 13th, 2022

Maari-A

Oct 11th and 18th in room
T8 of the CS building
No teaching on Dec 6th (Finnish independence day).
Hiep Nguyen (English only),
Duong Le (English only),
Kalle Laitinen, Aleksi Hannula
Tue
16–18
From
Sep 13th, 2022

Remote via Zoom

No teaching on Dec 6th (Finnish independence day).
Kirill Enckell,
Vilma Ikola
Tue
18–20
From
Sep 13th, 2022

Maari-A

Oct 11th and 18th in room
T8 of the CS building
No teaching on Dec 6th (Finnish independence day).
Duong Le (English only), Inka Viita,
Georgy Ananov (English only)
Tue
18–20
From
Oct 11th, 2022

Remote via Zoom

No teaching on Dec 6th (Finnish independence day).
Ilona Ma
Wed
8–10
From
Sep 14th, 2022

Maari-A

Oct 12th and 19th in room
T8 of the CS building
GuTing Huang (English only),
Tuomas Nummela, Stepan Katovich
Wed
10–12
From
Sep 14th, 2022

Maari-A

Oct 12th and 19th in room
T8 of the CS building
Olli Ullgren, Pyry Satama,
Vilma Ikola
Wed
12–14
From
Sep 14th, 2022

Maari-A

Oct 12th and 19th in room
T8 of the CS building
Julia Sippala, Mikael Lenander,
Antti Immonen, Tuomas Nummela
Wed
14–16
From
Sep 14th, 2022

Maari-A

Oct 12th and 19th in room
T8 of the CS building
Jesper Sundqvist (also in Swedish),
Julia Sippala, Kirill Enckell,
Onni Miettinen, Samu Paakkari
Wed
14–16
From
Oct 5th, 2022

Remote via Zoom

Elja Saksman
Wed
16–18
From
Sep 14th, 2022

Maari-A

Oct 12th and 19th in room
T8 of the CS building
Georgy Ananov (English only),
Esa Elo (also in Swedish), Kaisa Ek,
Hilkka Gröhn, Elja Saksman
Thu
10–12
From
Sep 8th, 2022

Maari-A

Oct 13th and 20th in room
T8 of the CS building

Kaisa Ek

Thu
12–14
From
Sep 8th, 2022

Maari-A

Oct 13th and 20th in room
T8 of the CS building

Yusuf Sürmeli

Thu
14–16
From
Sep 8th, 2022

Maari-A

Oct 13th and 20th in room
T8 of the CS building

Ilya Nekrasov (English only)

Thu
16–18
From
Sep 8th, 2022

Maari-A

Oct 13th and 20th in room
T8 of the CS building

Ilona Ma

Fri
10–12
From
Sep 9th, 2022

Maari-A

Oct 14th and 21st in room
T8 of the CS building

Aleksi Hannula

Fri
10–12
From
Sep 9th, 2022

Remote via Zoom

Kalle Laitinen

Fri
12–14
From
Sep 9th, 2022

Maari-A

Oct 14th and 21st in room
T8 of the CS building

GuTing Huang (English only)

Fri
14–16
From
Sep 9th, 2022

Maari-A

Oct 14th and 21st in room
T8 of the CS building

Yusuf Sürmeli

Fri
16–18
From
Sep 9th, 2022

Maari-A

Oct 14th and 21st in room
T8 of the CS building

Esa Elo (also in Swedish)

Online Labs on Zoom

Some of the labs will be online as Zoom video calls where students can discuss their program individually with a teaching assistant. We’ll use A+’s Lab Queue feature to allocate turns to each student (or pair of students).

If you are unfamiliar with Zoom, please try it out well in advance before joining one of the online labs.

Setting up Zoom

Install Zoom on your computer as per Aalto’s Zoom Quick Guide.

Zoom may be initially configured to mute any teaching assistants that enter your Zoom meetings. Please ensure that this is not the case:

  1. Go to aalto.zoom.us and log in with your Aalto account.

  2. In the left-hand menu, choose Settings.

  3. Scroll down until you find Mute participants upon entry. Make sure that the setting is not enabled.

Test your video and audio in advance to make sure they’re working in Zoom.

Joining an online lab

You don’t have to (and can’t) sign up in advance. When you want to talk to a teaching assistant, do the following.

Before you join the queue, start a Zoom meeting:

  1. Open Zoom and select New Meeting.

  2. Select Join with Computer Audio. Your meeting is now active but with only you as a participant. Others can join if they have an invite link, more on which below.

With the Zoom meeting running, enter the Lab Queue:

  1. Make sure that the program, ebook page, or other material that you wish to discuss is ready for viewing on your computer.

  2. Here in A+, select Lab Queue in the menu.

  3. The Lab Queue prompts you for a video link. Put in the invite link from Zoom. You can copy this link to your clipboard by selecting, in Zoom, Participants → Invite → Copy invite link.

    • If you’re working together with a pair, make sure to share the link with them, too, so that you’re both present when the assistant joins the meeting.

  4. In the drop-down menu, select which language you’d prefer to be advised in.

  5. Confirm the selections, and you’re in the queue. An assistant will join your Zoom meeting sooner or later, depending on the length of the queue.

Especially when the queue is long, the assistant cannot spend very long in one meeting. For that reason, too, please be prepared when it’s your turn!

Screen-sharing and mics on Zoom

In order to help you, the assistant will typically need to see the program that you’re working on. You can share your computer’s screen with the assistant by selecting, at Zoom’s bottom edge, Share → Screen and confirming with Share.

In Zoom’s bottom-left corner, there’s a little microphone symbol. Check to see that your microphone isn’t muted; or if it is, click the symbol or press Alt + A. If you can’t hear the assistant, make sure they aren’t muted by checking Participants at Zoom’s bottom edge. When you mouse over the assistant’s name in that list, you’ll see a Mute/Unmute button. While resolving audio trouble, you can resort to Zoom’s textual Chat, too.

Feedback

Credits

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

The ebook’s chapters, programming assignments, and weekly bulletins have been written in Finnish and translated into English by Juha Sorva.

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, Antti Immonen, Jaakko Kantojärvi, Niklas Kröger, Kalle Laitinen, Teemu Lehtinen, Jaakko Nakaza, Strasdosky Otewa, Timi Seppälä, Teemu Sirkiä, Anna Valldeoriola Cardó, 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 did 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 of using O1Library 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+ was originally created at Aalto’s LeTech research group as a student project. The open-source project is now shepherded by the Computer Science department’s edu-tech team and hosted by the department’s IT services. Markku Riekkinen is the current lead developer; dozens of Aalto students and others have also contributed.

The A+ Courses plugin, which supports A+ and O1 in IntelliJ IDEA, is another open-source project. It has been designed and implemented by various students in collaboration with O1’s teachers.

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

Additional credits for this page

Niklas Kröger wrote the instructions for Zoom labs, drawing on similar guides by Mikko Kivelä and Kerttu Pollari-Malmi; Juha Sorva translated the instructions to English.

a drop of ink
Posting submission...