Advice On Teaching Linux To CS Freshmen?
copb.phoenix writes "I'm a sophomore Computer Science student teaching computing labs to a freshman class, getting ready to go over the major ins and outs of the Linux terminal and GUI. While I have my own ideas and the professor over this class to lean on, I've found it difficult to get the few students that I've tried to teach in the past to connect the dots and understand how it relates to what they already know about computers. Does anybody out there have any advice on how to engage and inspire our upcoming class? (Perhaps important: Our machines are running Ubuntu Hardy.)"
Many GUI applications can be controlled via GUI commands. Showing this helps students understand the link between the magic that goes on under the hood, and the actual action that takes place to make that happen.
Sure, not everything is a GUI shell over a CLI program, but the concept of typing a command isn't that different from one of making an API call to Qt or GTK+.
Computer Science is no more about computers than astronomy is about telescopes. --E. W. Dijkstra
What good first year students should have difficulty handling is handling their time well enough while they obsessively dig into the computer systems around them. You shouldn't have to teach them about Linux, you should have to teach them about how to lay off the obsessive installing, poking, modifying, developing, etc.
If you have to push them /towards/ computing, they're not going to be any good at computing. They should get into something else quickly.
These are CS students. Discounting the ones who will be quickly switching majors or dropping out, sed, awk and regex are going to convert Windows/Mac users to command line Linux.
Really, it's just plain mean to wait until senior year for the weed out class. Freshman year is the time to ditch people who think that a love of playing computer games means that they will get to enjoy a well-paid career as a game designer.
I'm a biology prof and have been around universities all my life. (Really. My mother was a university prof too.) There are a lot of misconceptions about what goes in to good teaching. In computer science, a sophomore may well be a better teacher than a 40 year-old full professor.
Professors are not rewarded for good teaching. We're rewarded mainly for bringing in grant funds. So getting good teachers depends pretty much on the luck of the draw, unless you're up at Stanford or Harvard levels. Community colleges often have better teachers than 4-year schools because they have much more focus on teaching.
The main thing you're paying $20,000/yr for is the higher class union card. A better name school is a ticket to a better-paying job. Which means, in terms of bang for the buck, a student is best off going to community college for the first two years, and then transferring to as flagship a school as they can manage.
As for actually learning something, well, that's a different matter entirely...