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

Schedule:
–
Teaching time:
Daytime
Location:
Espoo
Topic:
Information and communications technology
Form of learning:
On-campus
Provider:
Aalto University, FITech
Level:
Intermediate
Credits:
5 By Aalto University (ECTS)
Fee:
Free of charge
Application period:
7.11.2022
– 19.2.2023
Target group and prerequisites
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.
Course description
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.).
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.