Computer Systems ¶
Enroll to Autumn 2024
Course Contents ¶
- Module 1. JTKJ General information
- Lecture material
- How to program in this course
- FAQ: Answers to student questions and feedback
- PART I Embedded Systems
-
Exercise: Embedded systems
2024-10-11, 23:590.00 / 0.50
- 2. A typical computer
-
Exercise: A typical computer
2024-10-11, 23:590.00 / 0.50
- Supplementary: 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
-
3. Bits and number representations
0.00 / 0.00
-
Exercise: Number representations
2024-10-11, 23:590.00 / 1.00
-
4. Variables in the C language
0.00 / 0.00
-
Exercise: Variables in C
2024-10-11, 23:590.00 / 1.50
- 5. Bitwise operations in C
-
Exercise: Bitwise operations
2024-10-11, 23:590.00 / 1.50
- 6. Functions in C
- Extra: Modular and procedural programming with top-down design
-
Exercise: Functions
2024-10-11, 23:590.00 / 4.00
- 7. Program control in C
-
Exercise: Program control
2024-10-11, 23:590.00 / 2.00
-
8. Input and output in C
0.00 / 0.00
-
Exercise: Input and output
2024-10-11, 23:590.00 / 1.00
- 9. Pointers in C
-
Exercises: Pointers (I)
2024-10-11, 23:590.00 / 7.00
-
Exercises: Pointers (II)
2024-10-11, 23:590.00 / 4.00
-
10. Data Structures in C
0.00 / 0.00
-
Exercise: Data structures
2024-10-11, 23:590.00 / 3.00
- 11. C Preprocessor
-
Exercises: Pre-processor
2024-10-11, 23:590.00 / 0.50
- 12. Libraries
-
Exercises: Libraries
2024-10-11, 23:590.00 / 0.50
- 13. Compilation Techniques with Make and CMake
-
14. Real Time Operating Systems (RTOS). Sensor Tag programming.
0.00 / 0.00
- 13 bis. Real Time Operating System (FreeRTOS and Pico)
-
14 bis. Raspberry Pi Pico-ohjelman toteutus
0.00 / 0.00
- 15. Input / Ouput
- 16. Interrupts
- 17. Serial communication
- 18. Wireless communication
- 19. Finite state machines
- 20. SensorTag peripheral devices
-
C Summary Quizz
0.00 / 3.00
- Laboratory exercise
- Forming Groups
- Registration
-
Session 1
0.00 / 0.00
-
Session 2
2023-10-30, 00:000.00 / 0.00
-
JTKJ Course Project 2024
2024-11-24, 23:590.00 / 0.00
-
Deliverable. Project Plan.
2024-10-25, 23:590.00 / 2.00
-
Deliverable. Final Project.
2024-11-24, 23:590.00 / 20.00
-
Deliverable. Diary.
2024-11-24, 23:590.00 / 10.00
-
Quizz
2024-11-25, 20:590.00 / 2.00
-
Final project evaluation meeting 2024
0.00 / 0.00
- Module 2. TKJ General Information
- PART II Computer Systems
- 1. Floating point representation
-
Exercise: Floating point numbers
2024-12-16, 23:590.00 / 2.00
- 2. Processor architecture
- 3. Assembly language
-
Exercise: y86 Assembly language
2024-12-16, 23:590.00 / 11.00
- 4. Machine language
-
Exercise: Machine language
2024-12-16, 23:590.00 / 2.00
- 5. Instruction cycle
-
Exercise: Instruction cycle
2024-12-16, 23:590.00 / 2.00
- 6. Pipelined processor
-
Exercise: Pipelined processor
2024-12-16, 23:590.00 / 3.00
- 7. CISC vs RISC
-
Exercise: CISC vs RISC
2024-12-16, 23:590.00 / 1.00
- 8. System services and exceptions
-
Exercise: System services and exceptions
2024-12-16, 23:590.00 / 1.00
- 9. Memory hierachies
-
Exercise: Memory hierarchy
2024-12-16, 23:590.00 / 1.00
- 11. Computer system performance
-
Exercise: System performance
2024-12-16, 23:590.00 / 2.00
-
Course Project 2024
2024-12-22, 23:590.00 / 15.00
Introduction to the course(s)¶
Registration to the courses¶
- Register to the course in Peppi. This registration is essential to the participate the course fully and receive your grades.
- The Lovelace platform contains course material and exercises. In order to answer the exercise is necessary to enroll in Lovelace:
- Undergraduate students register using university credentials
- Other students would need to create a personal account.
Course staff¶
Lectures: Iván Sánchez Milara, Center for Ubiquitous Computing
Practice sessions: Iván Sánchez Milara, Mika Oja
Teaching assistants: Raisul Islam, Emil Kelhälä, Juho Tyni, Teemu Puro
Practice sessions: Iván Sánchez Milara, Mika Oja
Teaching assistants: Raisul Islam, Emil Kelhälä, Juho Tyni, Teemu Puro
Contact information¶
Email: computer-systems@lists.oulu.fi (please do not send email to individual teachers, since there can be long delays in answering).
Online chat:The course area in ITEE's Discord server is the best way to ask for help remotely. Invitation to the Discrod server is included in the welcome email. The landing channel contains instructions on how to join course area(s).
Course announcements¶
The course announcements will be officially delivered during lectures, Discord and Lovelace mass email. Check that your email is correct in Lovelace. Check your email frequently!
Course modules¶
This module consists of two 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.
More information of the different parts of the course (scheduling, assessment ...)