Back to all courses

Programming 2

Individual course

Max amount of FITech students: 20

Persons without a valid study right at a Finnish university or university of applied sciences have preference to this course.

This course gives an introduction to computer architecture and program execution from gate level to high-level programming languages.

Course contents

  • Computer architecture, binary data, and logic.
  • Programming abstractions and analysis of program performance.
  • Aspects of functional programming, e.g. recursive definitions and recursion.
  • Introduction to computer science and problem-solving with algorithms.

Learning outcomes

Upon successfully completing the course, the student

  • understands the essential functional structure of a programmable computer and its operation during program execution.
  • understands the physical limitations and possibilities of computers, including the main computational resources (time, space, parallelism, etc) and how to put these into use.
  • can determine/measure the performance of a computer program in practice, in simple cases by inspecting only the structure of the program.
  • understands what is meant by an abstract interface and its implementation, including the possibility of alternative implementations with different performance characteristics.
  • understands the concept of recursion and can write programs that employ recursion and operate on recursive data structures.
  • knows the basics of algorithm design and analysis, including selected designs for fundamental combinatorial tasks (searching, sorting, etc.).


Please note that this course assumes previous experience with the Scala programming language. The course Ohjelmointi 1/Programming 1 is highly recommended before taking Programming 2.

Teaching methods

Lectures on campus:

  • Mon 27.2.–3.4.2023 at 10.15–12.00
  • Mon 24.4.2023 at 10.15–12.00
  • Tue 2.5.2023 at 8.15–10.00
  • Mon 8.–22.5.2023 at 10.15–12.00
  • Mon 29.5.2023 at 10.15–12.00

It is also possible to join the exercise groups on campus.

Programming exercises, reading and video material.

Completion methods

Weekly programming exercises and an exam.

More information in the Aalto University study guide.

You can get a digital badge after completing this course.

Responsible teacher

Aalto University
Lukas Ahrenberg, University teacher

Further information about the studies

Aalto University
Kirsi Viitaharju

Contact person for applications

FITech Network University
Fanny Qvickström, Student services specialist
Application period has ended
Application period has ended
ICT studies
Computer engineering,
Course code:
Study credits:
0 €
Course level:
Teaching period:
Application start date:
Application deadline:
Application period has ended
Host university:
Aalto University
Who can apply:
Adult learner,
Degree student
Teaching method:
Place of contact learning:
Teaching language:
General prerequisites:
Course CS-A1110 Ohjelmointi 1/Programming 1 or equivalent knowledge, including basic knowledge of the Scala programming language.
Interested in this course? Subscribe and get updates about the course directly to your email. You can cancel subscription any time you want.

This course is included in the following theme