CS114: UNIX Tools

Fall Semester 2006
When: September 25 - October 20 MWF 12:20 - 1:05p
Where: Philips Hall 203
Instructor: Richard Yamada
Email: ry38 $$ at $$ cs.cornell.edu
Office: 657 Rhodes Hall
Office hours: By appointment only (please email me)
Grading: S/U only

Course Information |Announcements | Assignments | Lecture Notes and Schedule | Other Useful Information | Links

Course Information


Course guidelines and class information can be found here: Course Handout

Top

Announcements


10/23/2006 - Graded homeworks and finals will be available in my mailbox after all assignments have been turned in. Also, the links to my lecture notes, homeworks, and finals will be disabled at the end of this week. Have a good rest of the fall semester!


10/19/2006 - Hardcopies of the exam will be available in my mailbox starting at 4PM. I will post the exam on the web around 5PM. Please check this site in case there are any further comments/corrections about the exam. YOU WILL RECEIVE PARTIAL CREDIT FOR YOUR ANSWERS, SO YOU SHOULD TRY ANSWERING EVERY QUESTION.


10/18/1006 - By the start of today's lecture, you would have read lectures 1-8 of the 2004 lecture notes. You should start reviewing material in this course in preparation for your exam tommorrow.


10/16/2006 - Since we will cover basic shell scripting on Weds, homework 2 will be due at 5PM October 19th.


10/11/2006 - By now, you should have read lectures 1-5 of the 2004 lecture notes. By next Weds please finish reading lectures 6, 7, and 8.


10/4/2006 - I handed out the mid-course survey at the end of class today. The survey is optional, but will help me give an idea of how the class is going overall. ALSO, I will be in the ACCEL lab from 4:30 to 5:50 PM today. Also, for those of you reading the 2004 lecture notes, by now you should have read lectures 1, 2, and 5. By next Weds please read lectures 3 and 4.


10/2/2006 - I will be holding a optional Linux help seesion this Weds 10/4/2006 in the ACCEL lab in Carpenter Hall from 4:30 PM - 6:30 PM. You need to email me if you are interested. If I do not get any emails, I will not be in the ACCEL lab.


9/25/06 - If you need a CSUG account you MUST attend this class. Also, please use the Linux machines in CS UG lab to complete the assignments if you do not have access to Linux. You can ssh to csug0x.csuglab.cornell.edu, where x is the number 1-6, to access a Linux machine. Do NOT use turing or babbage to do the assignments. Also, PLEASE fill out the survey that I will hand out during class. Results of the survey will be discussed on Weds, and will give me a better idea what topics to focus on!

Top

Assignments

Course Survey - due ASAP!
Homework 1 - Out: Weds, September 27th; Due: Weds, October 4th
Homework 2 - Out: Fri, October 6th; Due: Weds, October 18
The file needed for problem 6 of homework 2 can be downloaded here.
Take-home final - Out: 5PM Thurs, October 19th, Due: 5PM Fri, October 20th

NOTE: Homeworks and final must be submitted by 5 p.m. on the due date. Please drop hardcopies off in my mail file folder in Rhodes 657 (Once you are in Rhodes 657, walk straight ahead 20 feet, and the file folders will be on your left. There is also a sign from the ceiling)

Top

Lecture Notes and Schedule

I will post my own notes for a limited time for some of the lectures. There are plenty of very good webpages and books on these topics already available, and I see no reason for me to go to the effort to reproduce them. Previous years lectures notes are posted at: 2004 and 2003. I may also post example scripts, etc. that I use in class.

Below is schedule for the course:

Lecture 1: overview of the course/introduction to Unix

Lecture 2: history of Unix/Unix philosophy/Linux vs Unix/basic commands

Lecture 3: basic commands continued

Lecture 4: navigating the file system

Lecture 5: file systems continued/useful Linux tools

Lecture 6: vi and emacs editors

Lecture 7: shells revisited

Lecture 8: regular expressions and non-interactive editors - tr and sed

Lecture 9: awk and gawk

Lecture 10: shell scripting basics

Lecture 11: EXAM

Additional information about the topics covered during the class can be found in the following references:

Topic 1: Introduction to UNIX, files and security
Reading: Robbins chapter 2; Wagner chapters 4, 6, and appendix A; Todino chapters 1, 3, 4; 2003, 2004 course notes.

Topic 2: Text editing
Reading: Koch chapter 20; Robbins chapters 7, 8; Lamb chapters 1-4; Cameron chapters 1-5

Topic 3: Shells and variables
Reading: Robbins chapters 3, 4, 5; Todino chapter 5; 2003, 2004 course notes

Topic 4: Jobs, I/O, redirection
Reading: Todino chapters 5, 6; Koch chapter 7;

Topic 5: Regular expressions, text processing
Reading: Robbins chapters 6, 10, 11; Medinets chapter 8; Dougherty chapters 1-5

Topic 6: Shell Scripting
Michael chapters 1, 2; Koch chapter 28; 2003 and 2004 course notes

Top

Other Useful Information

Please do not take this class if you do not think that you'll be able to turn in all of the assignments on time.

All auditors/visitors are welcome. However, priority will be given to those taking this class for credit.

Relevant Books

There are many good books on UNIX and UNIX tools available. Here is a list that you may find helpful. Some are available electronically from the Cornell Library:

UNIX Accounts

You will need a CS Ugrad account to do the assignments for this course. If you pre-enrolled for the course, a CSUG account has been requested for you. If you did not pre-enroll for the course, please come to the first day of class, and sign in. I will request a CSUG account for you after class. If you are not taking the course for credit, you WILL NOT get a CSUG account for the course. Below are some useful links related to your CSUG account:

Using UNIX in the CSUG lab
Setting your CSUG password
Setting up SSH
Accessing CSUG lab computers from outside the lab

Top

Other Helpful Links

The Free Software Foundation's GNU page -- these folks are the source for many of the standard versions of UNIX programs

Top