Introduction to C Programming for Embedded Devices. 3ECTS¶
The content of the course is part of a 8 ECTS course taught at University of Oulu named Computer Systems
This particulr course focuses on the following topics:
- Overview of computer architecture and CPU
- Introduction to embedded systems
- Data representation and memory management
- Introduction to C programming: variables, function, control structures, pointers and data structures
- Bitwise operations: reading/writing values from registers
- Compiling environment: libraries and makefiles
The course could be completed using the provided learning material in Lovelace.
The following books provide English language material for the course:
- Kernigham & Ritchie: The C programming language (from 2nd edition)
- C Programming
- The C programming language (MIT OpenCourseWare)
- Embedded Systems
- Patterson & Hennessy, Computer Organization and Design, 5th Edition: The Hardware/Software Interface, 5th edition. (Only chapter 1. needed)
- Bryant & O'Hallaron, Computer Systems: A Programmer's Perspective, 3rd edition. (Only chapter 1. needed)
Registration to the course¶
Logging into Lovelace¶
Lovelace belongs within the university's authentication system. Click the top right "Log in" link and click the "To login page" link underneath "Sign in with university account". External students who have not received a university account can create a separate Lovelace account. To avoid conflicts, this self-created account cannot be an email address. If needed, check out the university's general sign in guide.
Registration in Lovelace¶
In order to answer to tasks in this course, you need to enroll for the course in Lovelace. Go to the front page and click the enroll button underneath the Introduction to C Programming for Embedded Devices > Fitech 2024 course. Once you have enrolled you should receive an email that contains one important link for the course. This email will be sent to the address you have in your Peppi data. If your account is new, that address should be the one given to you by the university. For old accounts it can be another personal address.
Course implementation¶
- Read chapters 1-13 in Lovelace.
- Additionally you can watch Computer Systems videos and slides that you can find in Lecture material. Only lectures 1-7 are the subject of this course.
- Complete the C Exercises in Lovelace (Total 27 points)
- Complete the Summary Quizz (Total 3 points)
Schedule¶
You can complete the course to your own pace.
Course grading¶
This course grading is based in pass/fail. When you pass the course you can receive a digital badge.
In order to pass the course you should:
- Get at least 25 / 30 points.
- Obtain in the Summary Quizz at least 70% of correct answers.
Help with Exercises¶
The best way to get help is to ask on the course's Discord channel or by email at
computer-systems@lists.oulu.fi
. Please, include at the beginning of the email subject [CEMB]. The easiest way for problematic exercises is to share the page found behind the "number of answers" link in the box on the left side of the task. This can be done by opening that page, copying the address from the browser's address bar, and pasting the address into your message. You can also directly click on the "Help!" link, which automatically adds the said address to the email. Remember to also mention the actual problem and your question in the message!
Alternatively, you can send the code causing problems directly as an email attachment along with your question and the feedback given by Lovelace; without the code file (or your attempted answer), it's often impossible to guess the cause of the problem. Do not attach images to your email!