Requirements
The Linux kernel is written in C and, for a small part, in an Assembly language (in this course we shall refer to the Intel 80x86 assembler with the AT&T syntax).
A good knowledge of C and of Intel 80x86 assembly language is thus required. Some knowledge of the IBM-compatible PC architecture won't harm, specialy when dealing with I/O drivers.
Some familiarity with Unix systems and a linux box for practicing out of class are also mandatory