There’s been a murder in Terminal City, and TCPD needs your help.

I’ve complained about the fact that my school never offered an “introduction to the command line” course. In fact, my first real experience with Unix was during the second week of my “Introduction to Computer Systems” class — I had to defuse a binary bomb.

We were given instructions like “extract your bomb with tar -xvf” and “use gdb,” words that had no meaning to a noob like me.

I struggled through the lab (with much Googling and trial and error), but looking back now, it’s one of my fondest CS labs. It taught me how to debug programs, but did so in a way that was fun and memorable.

Noah Veltman, an OpenNews fellow currently at the BBC, devised an amazingly creative means of teaching the command line: a murder mystery where you have to grep your way to the solution.

He walked session participants through various useful commands (grep, head, tail, cat) and then gave us time to solve the mystery. Everyone was engaged, regardless of command line familiarity, and it also provided a great opportunity to work with others and see how they approached the problem. The mystery was so intriguing that a group even stayed behind afterwards to solve it.

Similar to the bomb lab, The Command Line Murders takes skill with a higher barrier to entry and crafts a fun, teachable experience around it. You can read all the man pages you want, but until you have a chance to grep through a command line mystery directory or cat some interview files, the knowledge won’t stick.

So, whodunit?

Grab your copy of the command line mystery and get crackin’.

(And thanks, Noah, for an awesome session! We’ll all be eagerly awaiting the second installment.)