To start with this course introduces the device, driver, major number, IO mappaed IO and Memory mapped IO etc. Next skeleton driver gives detailed idea of module development , inserting , removing modules and how driver can be developed as a module. Also registering and deregisterting drivers. How a driver is mapped to major number and student learns about driver functions i,e. file operations. Next printer driver introduced data transfer from driver to device with in and out functions. Handling minor numbers are taught. Next PCI ethernet driver makes sure student understands compexities in large devices and techniques of tx rx and interrupt handling is best undertood here. socket buffers the sk_buffer and apis are introduced. After several small modules , final integrated driver is tested. Next comes another solid interface the USB, USB drivers cover making a skeleton driver and registering usb drivers etc. Here driver probe is understood by looking to available end points and creating pipes if necessary. Urb is taught which takes data to device or brings. Keyboard(input) driver makes sure student understands usb input driver development. The scancodes keycodes reporting is understood. Individual attention is given for each.