Kuva: Pixabay


This free of charge course will give you insight into the central principles of programming.

You will take your first steps into programming with Java. The focus of the course is on programming, and you will learn how to write programs and understand how they work. For example, the basics of algorithms, control structures, subprograms, object-oriented programming are covered. The grading is based on weekly exercises and an online exam. You can study the course at your own pace during the time that the course is available.

The course is taught as a massive open online course (MOOC), where you study very independently. Support from peers and instructors is available through the discussion forums.

Once you have completed the course, deepen your knowledge with the Advanced Course in Programming course.

Registration and fee

Free of charge

You will be given instructions for course registration in the MOOC online learning environment after completing the course.


  • Course materials are available for everyone without officially registering on the course.
  • Please note that the course registration form is open for a pre-defined period only. Registration for the Open University is possible until 3.1.2021. Until this date, the course is complete. After that, the course can only be completed in the Python programming language.
  • If you wish to have the ECTS entered in the University of Helsinki’s student records, you must register for the course at the Open University.
  • If you enter erroneous information when registering, we cannot register your credits.
  • Students and international students at the University of Helsinki can enrol on the course with their University of Helsinki username.
  • If you do not have a Finnish personal identity code and / or an online banking ID, please contact the University of Helsinki Admission Services in order to register for the course.

More information on studying at the Open University:

Open University reserves the right to make changes to the study programme.


This course is suitable to everyone interested in computer science and programming. It is a part of the University of Helsinki Bacherlor's programme in Science, and a part of basic studies in Computer and Data Science.

The course is suitable for exchange students.

If you a degree student at the University of Helsinki, please note following:

  • The course is compulsory for the whole programme.
  • For students in Computer and Data Science study track the course ID is BSCS1000 and for other students BS1000.
  • The course is available to students from other degree programmes.


There are no prerequisites for the course.

There are no prerequisites for the course.

For degree students, it is recommended to complete this course during period 1 of first autumn. To be followed by the Advanced Programming course (information on the course will be available later in the spring).

  • Can solve common programming
  • Can write programs that comply with
    given goals
  • Can manipulate lists with loops
    (for, while) and using streams
  • Can reorder lists using predefined primitives
    language primitives
  • Can test programs manually
  • Can test programs with IDE
  • Identifies potential errors in
    given programs
  • Solutions to given programming
  • File operations to read and
    manipulate textual data in a
  • Produces an analysis of pros
    and cons of a given program
  • Produces various different solutions
    to the same program, with different
  • Can refactor an existing program
  • Basic elements of procedural
  • Common programming errors,
    and associated problem-solving
  • Difference between human
    and computer code
  • How computer runs programs
  • Basic concepts of object-oriented
  • File and file system concepts
  • Basic variables and references
  • Can simulate execution
    with paper and pencil
  • Can reason about variables
    of a computer program in
    different phases of execution
  • Debugging programs
  • Structure and patterns
    of programs

The course material is available online at the MOOC learning environment. The focus is in hands-on programming, supported by 2 hours of weekly lectures.

The details on grading of the course will be provided later.

Taking this course does not give students access to a University of Helsinki user account. If you want to view and share information about your studies after completing the course, sign up for the Oma Opintopolku -service maintained by the Finnish National Agency for Education. The ECTS will be displayed within two days in the Oma Opintopolku -service after credits have been registered to the University of Helsinki. To register for the Oma Opintopolku – service you must identify yourself by using Finnish bank identification codes, mobile certificate or certificate card.

Questions regarding the course:

The course is completed in the MOOC learning environment, which contains the material and instructions necessary for completing the course. You may study the course flexibly during 3.2.2020-4.1.2021.
Note! The last exam in Java programming language will be held on January 15, 2021.

Erkki Kaila