Computer Systems ¶
Enroll to Autumn 2025
Course Contents ¶
-
General information
0.00 / 0.00
- Schedule and deadlines
- Assessment
- Lecture material
- FAQ: Answers to student questions and feedback
- Booking Private Tutoring Time
- How to program in this course
- Cheatsheet: Build & Debug C in VS Code (Windows, MinGW/GDB)
- Virtual Machine. Download and history
- Debugging code
- Pretasks: From Python to C (For students with basic programming knowledge)
-
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
-
Exercise: A typical computer
2026-02-27, 23:590.00 / 0.50
- 2. Embedded Systems
-
Exercise: Embedded systems
2026-02-27, 23:590.00 / 0.50
-
3. Bits and number representations
0.00 / 0.00
-
Exercise: Number representations
2026-02-27, 23:590.00 / 0.50
-
4. Variables in the C language
0.00 / 0.00
-
Exercise: Variables in C
2026-02-27, 23:590.00 / 1.50
- 5. Bitwise operations in C
-
Exercise: Bitwise operations
2026-02-27, 23:590.00 / 1.00
- 6. Functions in C
- Extra: Modular and procedural programming with top-down design
-
Exercise: Functions
2026-02-27, 23:590.00 / 4.00
- 7. Program control in C
-
Exercise: Program control
2026-02-27, 23:590.00 / 2.00
-
8. Input and output in C
0.00 / 0.00
-
Exercise: Input and output
2026-02-27, 23:590.00 / 1.00
- 9. Pointers in C
-
Exercises: Pointers (I)
2026-02-27, 23:590.00 / 7.00
-
Exercises: Pointers (II)
2026-02-27, 23:590.00 / 3.00
-
10. Data Structures in C
0.00 / 0.00
-
Exercise: Data structures
2026-02-27, 23:590.00 / 3.00
- 11. C Preprocessor
-
Exercises: Pre-processor
2026-02-27, 23:590.00 / 0.50
- 12. Libraries
-
Exercises: Libraries
2026-02-27, 23:590.00 / 0.50
-
Module 1 Quizz
0.00 / 15.00
-
Module 1 retake
0.00 / 5.00
- Module 1 Popup and Test Quizzes
-
Quizz 1 Data Representation and C variables
2025-09-15, 11:150.00 / 1.00
-
Quizz 2 Functions and Bitwise operations
2025-09-23, 10:350.00 / 1.00
-
Quizz 3 Pointers and Structs
2025-09-29, 11:050.00 / 1.00
-
Example Quizz 1
0.00 / 1.00
- 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
- Registration
-
Session 1
0.00 / 0.00
-
Session 2
0.00 / 0.00
-
Module 2 Project 2025
2024-11-24, 23:590.00 / 0.00
-
Deliverable. Project Plan.
2025-10-24, 23:590.00 / 1.50
-
Deliverable. Final Project.
2025-11-23, 23:590.00 / 22.00
-
Deliverable. Diary.
2025-11-23, 23:590.00 / 10.00
-
Final project evaluation meeting 2025
0.00 / 0.00
-
Module 2 Quizz
2025-11-22, 20:590.00 / 9.00
-
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
-
Exercise: Floating point numbers
2026-02-27, 23:590.00 / 2.00
- 2. Processor architecture
- 3. Assembly language
-
Exercise: y86 Assembly language (I)
2026-02-27, 23:590.00 / 6.00
-
Exercise: y86 Assembly language (II)
2026-02-27, 23:590.00 / 7.00
-
Assembly Language (extra). Does not give points.
0.00 / 0.00
- 4. Machine language
-
Exercise: Machine language
2026-02-27, 23:590.00 / 2.00
- 5. Instruction cycle
-
Exercise: Instruction cycle
2026-02-27, 23:590.00 / 2.00
- 6. Pipelined processor
-
Exercise: Pipelined processor
2026-02-27, 23:590.00 / 2.00
- 7. CISC vs RISC
-
Exercise: CISC vs RISC
2026-02-27, 23:590.00 / 0.50
- 8. System services and exceptions
-
Exercise: System services and exceptions
2026-02-27, 23:590.00 / 0.50
- 9. Memory hierachies
-
Exercise: Memory hierarchy
2026-02-27, 23:590.00 / 1.00
- 10. Computer system performance
-
Exercise: System performance
2026-02-27, 23:590.00 / 2.00
- Module 4: Assembly Project
-
Course Project 2025
2025-12-22, 23:590.00 / 15.00
-
Retaking any of the course parts in spring 2026
2025-03-09, 23:590.00 / 0.00
- Retaking Module 1. C exercises.
-
Retaking Module 2. FreeRTOS project.
2026-02-27, 23:590.00 / 10.00
- Retaking the quizzes
- Retaking Module 3
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 idea is 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: Iván Sánchez Milara, Center for Ubiquitous Computing
Practice sessions: Iván Sánchez Milara, Mika Oja
Teaching assistants: Juho Tyni, Oskari Yliraasakka, Mark Suvorov, Anssi Kangasvieri
Practice sessions: Iván Sánchez Milara, Mika Oja
Teaching assistants: Juho Tyni, Oskari Yliraasakka, Mark Suvorov, Anssi Kangasvieri
More information¶
Please, read carefully the Course Presentation