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ä:
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.
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 programmed by Riku Autio, Jaakko
Kantojärvi, Teemu Lehtinen, 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
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 tools from O1Library (such as Pic) for simple graphical programming
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.