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 ohjelmien koodissa englanninkielisiä
nimiä kurssin alkupään johdantoesimerkkejä lukuunottamatta.
Voit vaihtaa kieltä A+:n valikon yläreunassa olevasta painikkeesta. Tai tästä:
Programming 1 a.k.a. O1 is an introductory programming course. After you complete O1, we
hope that you can mean it when you say:
After O1, you should be able to write small application programs of your own.
You should also be able to read and modify programs — even somewhat bigger ones —
written by others. Moreover, you should have an understanding of various fundamental
programming concepts that will help you develop your programming skills further, whether
in the follow-on courses at Aalto or independently.
We use the Scala programming language as a tool, but most of what you learn in O1 is
applicable when programming in other languages, too.
We’ve tried to design O1’s grading policy (Chapter 1.1) so that a grade of one means
you’ve reached the minimum requirements for passing, a grade of three roughly corresponds
to what you need to know to succeed in follow-on courses, and a grade of five indicates
a still better level of achievement.
By the time you finish O1, you ought to have the following basic skills at the very least.
The minimum requirements alone aren’t enough if you intend to continue on to other courses
at Aalto or if you develop a hunger to learn more about programming (as we expect). The
spring courses Programming 2 and Programming Studio 2,
for instance, expect that you know more than what was listed above. All students that
plan to take those courses should aim for these objectives, too:
There’s a lot more that you can learn in O1. Here are some examples of learning objectives
that you may go for (and that may boost your grade); below is just a small selection of
topics from the optional sections in the ebook.
Thousands of students have given feedback that has contributed to this ebook’s design.
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, 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 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
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
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 was created by Nikolai
Denissov, Olli Kiljunen, and Nikolas Drosdek with input from Juha Sorva, Otto
Seppälä, Arto Hellas, and others.
For O1’s current teaching staff, please see Chapter 1.1.
Additional credits appear at the ends of some chapters.