Computer Systems ¶
Enroll to Autumn 2026
Course Contents ¶
-
General information
0.00 / 0.00
- How to program in this course
- Module 0: From Python to C
-
The first C program
0.00 / 0.00
-
Number representations
0.00 / 0.00
- Bitwise operations in Python
- Control structures in Python
- Pretask: C interactive tutorials. Mandatory for those with low programming skills.
- Module 1: Introduction to C programming for Embedded Systems
- 1. A typical computer
- 2. Embedded Systems
-
3. Bits and number representations
0.00 / 0.00
-
Exercise: Number representations
2026-10-09, 23:590.00 / 0.50
-
4. Variables in the C language
0.00 / 0.00
-
Exercise: Variables in C
2026-10-09, 23:590.00 / 1.50
- 5. Bitwise operations in C
- 6. Functions in C
- 7. Program control in C
-
8. Input and output in C
0.00 / 0.00
-
Exercise: Input and output
2026-03-06, 23:590.00 / 1.00
- 9. Pointers in C
-
10. Data Structures in C
0.00 / 0.00
- 11. C Preprocessor
- 12. Libraries
-
Extra material: Voluntary C programming exercises
0.00 / 2.00
- Module 1 Popup and Test Quizzes
- Module 2: Real-Time Operating Systems for Embedded Platforms
- 1. Real Time Operating System (FreeRTOS and Pico)
-
2. Introduction to FreeRTOS
0.00 / 0.00
- 3. Input and Output
- 4. Interrupts and timers
- 5. Serial Communication
- 6. Wireless Communications
- 7. Finite state machines
- 8. Peripherals
- 9. CMake
- Laboratory exercise
- Forming Groups
-
Module 2 retake
0.00 / 3.00
- Module 2 Popup and test Quizzes
-
Example Quizz 2
0.00 / 1.00
- Module 3: Computer Architecture
- 0. History and basic concepts
- 1. Floating point representation
- 2. Processor architecture
- 3. Assembly language
-
Assembly Language (extra). Does not give points.
0.00 / 0.00
- 4. Machine language
- 5. Instruction cycle
- 6. Pipelined processor
- 7. CISC vs RISC
- 8. System services and exceptions
- 9. Memory hierachies
- 10. Computer system performance
-
Retaking any of the course parts in spring 2027
2027-03-09, 23:590.00 / 0.00
University courses covered by this material¶
This Lovelace course covers two different university courses:
- Introduction to the computer systems (5 ECTS, 521287A)
- Computer Systems (8 ECTS, 521286A)
The courses are built in such a way that Introduction course is a part of the Computer Systems course.' Every student completes the introductory course (5 ECTS), and then some students continue with the Computer Systems course (+3 ECTS), either as a part of their curriculum or take the course voluntarily.
Both courses can be completed fully with English language. This year lectures are in English but all learning material is in Finnish. Exercises and final assignment can be completed either Finnish or English. English speaking teaching assistants are present during the classes.
Course staff¶
- Lectures and practice sessions: Iván Sánchez Milara, Center for Applied Computing
- Teaching assistants: Johan Porkholm, Erki Kuivonen, Cat Duong Vo
More information¶
Please, read carefully the Course Presentation
License¶
All content is under CC BY-NC-SA 4.0 license. (c Iván Sánchez Milara, Teemu Leppänen, Mika Oja)