With the preliminaries out of the way, we can now discuss the actual content of this introductory Linux kernel programming course.
It's important to emphasize that this is an introductory course, designed for students with little to no experience in kernel programming. That means that the course is not designed to make you an expert kernel hacker by the end. Rather, the goal here is to establish a solid foundation of the fundamentals that will let you take off from there and get into more advanced kernel topics (some of which will be the subjects of future Crash Course offerings).
Those who took the first edition of this course will undoubtedly recognize the list of topics to be covered in this course, which will include:
/procfiles and sequence files for your modules.
In addition to the above, there will undoubtedly be side trips to discuss interesting and educational bits of trivia in the kernel (how do kernel linked lists work?), but the above represents the collection of topics that will be covered.
Finally, it's important to remember that this is very much a "hands-on" course and, by the end, the student will have designed, coded and loaded a fully-functioning character device driver on his development host.
And with the list of course topics out of the way, it's time to move on to setting up your Linux development host.