Overview#
Labs#
There are 7 + 1 labs in this course. You’ll learn how to design a kernel by implementing it yourself.
There are 2 types of exercises in each lab.
|
You’re required to implement it by the description, they take up major of your scores. |
|
You can implement some of them to get a bonus. |
Important
You must finish todos in exercises to get scores.
There is no limitation on which programming language you should use for the labs. However, there are a lot of things that are language-dependent and even compiler-dependent. You need to manage them yourself.
You can check last year’s course website to see what you might need to do during this semester. Yet, the requirements and descriptions may differ this semester.
Grading Policy#
PLAGIARISM is not allowed, including copying from previous years.
It’s allowed and recommended to discuss with others, but you still need to write it on your own instead of copy/paste.
TAs validate plagiarism by asking for the detail of your implementation, and by running the plagiarism checker. If we find you cheating on labs or you can’t elaborate your code clearly, you won’t get any score.
Your code may work on an emulator even it’s wrong. Hence, you get 90% of the score if your code works on QEMU but not on real rpi3.
For late hand-in, the penalty is 10% per week.
Important
Remember to commit your work to your own repository in GitHub Classroom. During the demo session, we will check the timestamp of your last commit to determine your final score.
Discord Server#
Make sure to join the course’s Discord server to receive important announcements and participate in discussions.
For course-related questions, please ask directly in the Discord server—TAs will not respond to private messages.
You may privately message the TAs on Discord or email us only for grade-related or other privacy-sensitive issues.
If you actively and correctly answer other people’s questions on the Discord server, you can earn a bonus for your grade.
Disclaimer#
We’re not kernel developers or experienced embedded system developers. Commonly, we made mistakes in the description. If you find any of them, send an issue or PR to this GitHub repo.