home | list info | list archive | date index | thread index

[OCLUG-Tech] Checking for interest in a local 5-day Linux System Programming course

  • Subject: [OCLUG-Tech] Checking for interest in a local 5-day Linux System Programming course
  • From: "Robert P. J. Day" <rpjday [ at ] crashcourse [ dot ] ca>
  • Date: Fri, 25 May 2012 10:10:45 -0400 (EDT)
  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
========================================================================