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.

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

Info for Teaching Assistants

This content is meant for O1’s teaching assistants (TAs) but is available for others to read as well.


  • Initial staff meeting Wed, Aug 31st in the late afternoon (tentative time; will be confirmed via email).

  • The course officially begins on Mon Sep 5th.

  • First lab sessions on Thu Sep 8th.

  • The first deadline on Wed Sep 14th. The first weekly emails should be sent ASAP after that.

  • The labs continue throughout the fall semester as per the weekly schedule. Note: There’s an evaluation week at the end of Period I, but we have labs and a deadline in that week, too.

  • Students submit their text-adventure games in Week 11, i.e., by Wed Nov 30th. Teaching assistants need to assess the games within one week of the deadline! This is important so that the head TAs can prepare to present TAs’ favorite games at the end-of-course event. The sooner you can get this done, the better. Please reserve time for this in your calendar in advance.

  • The last deadline is on Wed Dec 7th; no more lab sessions after that.

  • The end-of-course event for students is on Fri Dec 9th.

  • The end-of-course feedback form is open for about a week.

  • The course staff will gather for food and to discuss course feedback. (Details via email.)

Lab Sessions

The most important job of O1’s teaching assistants is to help students at the lab sessions. The first session is on Thursday, September 8th, 2022, and the labs run from then until Week 12 deadline in December. The details are in the lab schedule.

Locations and starting times

Most of the labs will be in person in a classroom, but some of them are online on Zoom.

Each session officially begins at quarter past the hour (“academic quarter”), but you may start earlier, especially if the session is full. There are no breaks during a lab session.

Working at the lab sessions

The TA’s role is not that of a lecturer, but an advisor.

Students at the lab sessions complete tasks at their own pace, asking for help when they need it. Of course, should many students ask the same question, the assistant may explain something to the whole class. But for the most part, the TA keeps moving about the classroom (or between Zoom sessions), assisting students as they ask for help.

The A+ lab queue is very helpful for busy lab sessions; it also produces statistic on the number of students present. You’ll find the lab queue in A+’s menu. If an in-person lab session is very quiet, the TA may choose to not use the queue, but that should be the exception rather than the norm. In the Zoom labs, the lab queue is always used.

The lab sessions page outlines how the Zoom labs work from the student perspective. The lab queue is quite simple for TAs to use; there’s a bit of material about that in the info package that we’ll send out via email and discuss at the initial staff meeting.

Giving advice to students

Many of the students have no prior programming experience. They may need help with things that seem obvious and that “they’ve been told many times already”. This is normal. Be patient.

Instead of giving students solutions, use indirect hints that encourage students to think and solve the problems themselves. Never write code for the students.

Know the chapters and appendices of O1’s ebook so that you can point the students to the right place when needed.

A note about other courses

Quite a few O1 students are also taking the parallel course Programming Studio 1, and they might ask you questions about that course’s assignments.

If you want to, and have the time and the know-how, feel free to answer questions about other courses. But you must always prioritize students working on O1.

Discussion Forums

Most TAs dedicate two hours each week to answering questions on Piazza; some will have an extra lab session instead. We’ll agree on a schedule before the course kicks off. More information will be sent via email.

Answering questions on O1’s Telegram channel is completely voluntary.

Weekly Emails to Students

Each TA will be allocated a dozen or so students that the TA will monitor during the course. The TA should write an encouraging email to each of those students after each weekly deadline, commenting on the student’s progress. This is also a good opportunity to give feedback on the programs submitted the student (e.g., on programming style).

The primary target group for these messages are those Aalto SCI students who have little to no prior programming experience.

You should reserve roughly one hour a week for preparing the messages, preferably either Wednesday evening or on Thursday.

We’ll discuss the specifics in the initial staff meeting and send more information to the staff email list.


TAs have access to students' feedback messages, submissions, and results on A+. Please remember that these are all confidential!

Manual Grading

O1 has two assignments that aren’t automatically graded by A+ (in Chapters 11.1 and 12.3). The Programming Studio staff will take care of Chapter 12.2’s robot tournament, but we’ll need all TAs to participate in assessing Chapter 11.1’s text-adventure games. This will take place during the week right after the Week 10 deadline. More information will be sent by email.


If you can't attend a lab session, try to get another TA to host the session. For instance, you can ask on the staff email list if someone is willing to swap sessions.

If you can't find a replacement, arrange for a note in the classroom informing that the session has been cancelled. In this case, make sure to inform the head assistants as well, and if possible, post an announcement in Piazza.

Cancelling labs unannounced is not okay (except in a true force majeure situation of course).

The same goes for Piazza duty.

If an absence affects your ability to complete other TA task (i.e., weekly emails, text adventures), let the head assistants know as soon as possible.


The TAs are employed by the Department of Computer Science.

O1’s teachers are part of the Learning + Technology research group.


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

Nikolas Drosdek helped translate this page into English.

a drop of ink
Posting submission...