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.

Info for Teaching Assistants

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


Week Events
36 Initial staff meeting (planned for late afternoon on Wed Sep 4th)
37 The course begins Wed Sep 11th with a lecture; lab sessions start right after that.
38 First deadline Wed Sep 18th at noon, after which first encouragement messages should be sent ASAP.
43 Lab sessions and a deadline as usual, despite the evaluation week.
48 Grading of text adventures ASAP after Wed Nov 27th.
50 Last deadline on Wed Dec 11th at noon; no more lab sessions after that.
51- We’ll take a look at the end-of-course feedback.

Lab Sessions

The most important job of O1’s teaching assistants (TAs) is to help students at the lab sessions. The first session is on Wednesday, September 11th, 2019 at 17 pm, and the labs run from then until the last deadline at noon on Wednesday, December 11th, 2019. The details are in the lab schedule.

First Labs

At their first lab session, the students should learn how to work on O1’s assignments and submit them in A+. You may want start the first session with the following:

  • Introduce yourself.
  • Remind students of O1’s official forum on Piazza and the Telegram channel (ohjelmointi1)
  • Reiterate that the assignments require independent work by the students and the point of the sessions is to facilitate that work, not to follow a set schedule. Note that students are free to come and go as they wish.
  • Remind the students that working in pairs is both allowed and encouraged.

After going through the previous steps, instruct students to open the course material in a browser.

The aim is that all participants get enough experience during their first lab session that they can make further progress on their own.

More about the lab sessions

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 the lab sessions.

Assisting students

The TA’s role is to be an advisor, not a lecturer.

Students at the lab sessions complete tasks at their own pace, asking for help when needed. 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, assisting students as they ask for help.

The lab queue in A+ (see the menu) is very helpful for busy lab sessions, so do use it!

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

A significant number of 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

All TAs dedicate two hours each week to answering questions on Piazza. 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 whose Aalto SCI students who have little to no prior programming experience.

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

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

Manual Grading

O1 has two assignments that aren’t automatically graded by A+ (in Chapters 10.1 and 12.2). The head assistants will take care of Chapter 12.2’s robot tournament, but we’ll need all TAs to participate in assessing Chapter 10.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 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 for this page

Nikolas Drosdek helped translate this page into English.

a drop of ink
Posting submission...