I've wanted to put together a Linux system programming course for quite some time and, recently, I ran across this book which would seem to be the perfect vehicle: http://man7.org/tlpi/index.html In addition to being a spectacular reference, the book is accompanied by a couple of tarballs of hundreds of source examples that demonstrate the usage of almost all system programming routines a Linux programmer might want to use. A quick look at the ToC should show you how complete the book is: http://man7.org/tlpi/toc-short.html and my idea is to teach concepts out of that book for a full 5-day course, accompanied by detailed examination of the source programs that students would then compile and run to verify their operation. The tarballs are publicly available so anyone is allowed to download and play with them, even without purchasing the book. So here's my thinking on putting on a local course. I'd arrange for a local venue (probably downtown) and students would be responsible for bringing their own Linux laptops suitable equipped. Since this is user-space programming, any relatively recent Linux distro should work just fine, and I'm currently working my way through the book and testing examples on both Fedora and Ubuntu. So far, so good. Course delivery would (perhaps surprisingly to some people) *not* involve in-class programming assignments, for a simple reason. Five days might sound like a lot of time. It isn't. Given the amount of material to be covered, my presentation would involve introducing each concept, then following that with inspecting the example source code, discussing it, clarifying any confusion, then compiling and running it. I might add the occasional exercise that would involve *enhancing* a given example but, in my experience, it's far more productive to look at working code to see how it works, test it, and move on, with the understanding that students get to keep all that code after the course is over. (A minimum of wasted time.) Given that this would be the very first offering of this course, I'd probably have to be selective about which topics to cover. (As I said, while five days sounds like a lot of time, it isn't, even if you're working steady from 9 to 5 each day.) So out of all those topics, I'd at least prioritize and almost certainly ignore the earlier SysV calls in favour of the newer POSIX ones, at least until I verified how much can be covered in a week of class. If all of it can be done, great. If not, then I will at least have established what's realistic. And the cost? Given that this will be the first offering and there will undoubtedly be some experimenting and tweaking, I'm thinking of a bargain price of $995 per student that first time. For that price, an attendee would get five full days of Linux system programming instruction, plus both a hard copy and PDF version of the book. I'm fairly sure you're not going to get that kind of deal elsewhere. After that first offering, I'll have a much better idea of what to cover and what to tweak, at which point the price will go up somewhat but it will be essentially the same course, just a bit more structured. It would be fun to offer this course a bit later this summer, say in July, if there are enough attendees, and that's why I'm introducing it here. Are there people who would be interested in something like this at the proposed price? I just need enough students to comprise a sufficiently sizable class, at which point I'm sure it wouldn't be hard to find a venue. Thoughts? rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ========================================================================