|Language of instruction
Lecturing in Finnish, course and exercise material available in English.
Autumn, periods 1-2.
Upon completing the course, the student understands the basics of computer architecture and CPU operation.
Student knows number systems and data representations in computer.
Student is familiar of I/O operation with peripheral devices.
Student is able to implement small programs with the C programming language for workstations and embedded systems.
Student recognizes how embedded systems programming is different from programming general-purpose computers.
Overview of computer architecture and CPU, data types and memory management, interrupts, registers and I/O, general computer and embedded systems programming, basics of the C programming language.
|Mode of delivery
Web-based teaching + face-to-face teaching.
|Learning activities and teaching methods
Lectures (20h), course exercises (10-20h), laboratory exercise (3h) and course project in a group.
Students of the University of Oulu
|Prerequisites and co-requisites
Elementary Programming 521141P
|Recommended optional programme components
The course is an independent entity and does not require additional studies carried out at the same time.
|Recommended or required reading
Lecture notes and exercise material are available in the course website.
For English speaking students, either of the following material may be useful:
Patterson & Hennessy, Computer Organization and Design: The Hardware/Software Interface, 5th Edition, Chapter 1.
Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective, 3rd Edition, Chapter 1.
Patterson & Hennessy, Computer Organization and Design, 5th Edition: The Hardware/Software Interface, 2014.
Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective, 2016.
|Assessment methods and criteria
The assessment criteria is based on the learning outcomes of the course. Students complete the course exercises, participate to the laboratory exercise and complete the course project in a group. Assessment is based on the exercises and the course project. More detailed information on assessment is published in the lecture material.
Numerical grading scale 1-5, zero stands for fail.
|Working life cooperation
Visiting lectures with experts from local industry are possible.
The course learning platform is Lovelace (lovelace.oulu.fi)
This course replaces the course 521142A Embedded systems programming.