up to main course page ↑

Calendar

Summer 2008

The course calendar summarizes the important dates for the term, including assignment due dates. It starts out as a plan, and is updated to fit reality during the term.

The reading topics for class meetings and reading assignments shown below are a compromise between the desire to cover all the topics in the text and need to get started on the main project within three weeks. To do the project one needs at least a little bit from several chapters scattered througout the book, but one does not need to understand every detail. The book tries to cover all kinds of devices and the entire device driver programming interface, but we will just be using a subset of that. On the other hand, it is easier to read the book in order, without skipping. Added to this dilemma, we have other material, not in the book, that we need to read, including the following:

These needed to be interleaved with the textbook readings, but do not appear explicitly in the calendar, except in the last few weeks.

The intent of the reading assignment schedule is to read (rush) through the entire book quickly enough that we have the knowledge we need to tackle a serious project not later than the end of the third week. There are short quizzes, usually of just one or two questions, from time to time to spot-check that we are keeping up with the readings. As the term progresses, when it appears the assignments were getting difficult enough to take time away from reading, and we need extra time time to discuss the specifics of the assignments, we will back off on the pace of the readings and in-class coverage of the textbook topics.

DayDateTopicsWeb
Notes
Read
in Book
Comments
Week 1
Mon 12 May Overview
An Introduction to Device Drivers
Introduction to Lab Assignment #1
Course Overview
Ch 1 Notes
Asst 1
Ch 1  
Links below this line are to notes from prior term.
Tue 13 May Compiling kernel and modules
Building and Running Modules
Ch 2 Notes Ch 2  
Wed 14 May Char Drivers Ch 3 Notes Ch 3  
Thu 15 May Debugging Techniques
Ch 4 Notes Ch 4 Asst 1 due
Fri 16 May Concurrency and Race Conditions
Introduction to Lab Assignment #2
Ch 5 Notes
Asst 2
Ch 5  
Week 2
Mon 19 May Enhanced Char Driver Operations Ch 6 Notes Ch 6 Quiz on Ch 2-3
Tue 20 May Time, Delays, and Deferred Work Ch 7 Notes Ch 7  
Wed 21 May Allocating Memory Ch 8 Notes
Ch 8  
Thu 22 May Hardware Management
Introduction to Lab Assignment #3
Ch 9 Notes
Asst 3
Ch 9 Asst 2 due
Fri 23 Sep Handling Interrupts Ch 10 Notes Ch 10 Project proposals due
Week 3
Mon 26 May Memorial Day observed     no class
Tue 27 May Data Types in the Kernel Ch 11 Notes Ch 11 Quiz on Ch 4-6
Wed 28 May Introduction to Video Drivers, discussion of team projects Project Ch 12  
Thu 29 May PCI Drivers Ch 12 Notes
Ch 12 Asst 3 due
Fri 30 May USB Drivers Ch 13 Notes Ch 13  
Week 4
Mon 02 Jun Memory Mapping and DMA Ch 15 Notes Ch 15 Quiz on mutual exclusion and kernel timers
Tue 03 Jun Memory Mapping and DMA Ch 15 Notes Ch 15  
Wed 04 Jun Linux Device Model Ch 14 Notes Ch 14  
Thu 05 Jun Linux Device Model Ch 14 Notes Ch 14  
Fri 06 Jun Team reports on project choices.     Team progress reports
Week 5
Mon 09 Jun Block Device Drivers Block Devices Ch 16 Quiz on Ch 10-12
Tue 10 Jun I2C bus & how to use it to initialize the frame grabber HRT Notes    
Wed 11 Jun Video for Linux API HRT Notes    
Thu 12 Jun Multiple Device Driver? Notes for MD    
Fri 13 Jun Team reports     Team progress reports
Week 6
Mon 16 Jun Network Drivers Ch 17 Notes Refs Quiz
Tue 17 Jun Network Drivers Ch 17 Notes Refs  
Wed 18 Jun     Refs  
Thu 19 Jun Project final reports & demonstrations   Refs  
Fri 20 Jun Project final reports & demonstrations   Refs Project Due
Final Grades Due
Tue 24 Jun Revised grades for incompletes due at Registrar     4:00 PM

© 2004-2008 T. P. Baker ($Id: calendar07.html,v 1.4 2008/04/28 12:35:59 baker Exp $)