CS197U: A Hands-on Introduction to Unix

This is the home page for CS197U, although official information will be on Moodle. If you have questions please don't hesitate to email the instructor: jfoley@cs.umass.edu.

We will be using Moodle for all assignments, our course page is located here.

Example Calendar

This course meets for six weeks, twice a week. There are 12 classes. See the UMass Academic Calendar for details about the Monday schedule on Oct. 11.

Lectures

The following calendar is OUT OF DATE, for demonstration purposes. Please see more official details on Moodle as required.
Class# Weekday Date Subject
1 Tue Sept. 13 Course Overview and Survival Skills 1
2 Thu Sept. 15 Survival Skills 2, Linux Ecosystems
3 Tue Sept. 20 Operating Systems and Permissions
4 Thu Sept. 22 Do it again: Scripting
5 Tue Sept. 27 Processes and Management
6 Thu Sept. 29 Internet Literacy
7 Tue Oct. 4 File Sharing with Rules: Version Control
8 Thu Oct. 6 Privacy and Security
@ Tue Oct. 11 NO CLASS MONDAY SCHEDULE.
9 Thu Oct. 13 Adv. Topics I: Awk and Sed
10 Tue Oct. 18 Adv. Topics II: Make and ???
11 Thu Oct. 20 Professional Requirements and HTML
12 Tue Oct. 25 Wrap-up, review: What makes a competent UNIX programmer?

Software Resources

If some of this seems like techno-jargon to you, don't worry. We'll sort it all out on the first day :)

PuTTY for Windows Users

The official PuTTY downloads can be a little hard to find. I've included the official link here. PuTTY is a tool that will let you connect to unix machines like the EdLab from Windows.

When I worked with Windows and multiple unix machines, I found PenguiNet to be more fun, but it costs some money (15 GBP). I'd start with PuTTY and try their 30-day trial at some point to see if it makes a difference to you.

iTerm2 for Mac OSX

Mac users have a SSH-compatible terminal emulator installed by default: Terminal.app (search for it with spotlight if you're not sure, usually in /Applications/Utilities/Terminal.app), but a lot of users prefer iTerm 2 which is free under the GPLv2.

Ubuntu Linux

A very popular flavor of the GNU/Linux which even has a UMass-branded version. I'd actually recommend the official “long-term-service” or LTS version from the ubuntu download site. You might be able to download it faster for Assignment 3 if you grab it from the local CS mirror.

Fun Resources

  • Codecademy's Learn the Command Line a free online course that overlaps a bit with the first lecture or two of this class. I don't really like how they move things behind the scenes whenever you click next, but it might be helpful for some additional practice.
  • jor1k: OpenRISC OR1K Javascript Emulator Running Linux: Someone put together an emulator in the browser, compiled linux for it, and hooked it up to run. It's a little slow, when you reload your data disappears, and very few things are installed, but it might be fun to play with.
  • VIM-adventures.com: I discovered this after becoming comfortable with VIM, but it may be a fun way to learn and practice the movement commands for those interested.
  • Screenshots from developers & Unix people (2002): Unix and Linux used to look very different from the way it does today.