The course is no longer accepting applications from degree students for spring 2022.
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.
- 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.
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.
Programming exercises, reading- and video-material. Please note that the exercise sessions will primarily be held on campus during daytime, but are not mandatory.
Weekly programming exercises
More information in the Aalto University study guide.
You can get a digital badge after completing this course.
Further information about the studies
Contact person for applications