CS21 Lab 0: UNIX and the text editor

Due Saturday night before midnight (Jan 23)

This lab assignment will give you practice with unix, using a text editor (emacs or vim), and running our update21 and handin21 commands.

1. Read the class web pages

Start by reading through all of the CS21 homepage. Pay special attention to the Schedule, Academic Integrity and How to succeed in CS21 parts. You should get into the habit of checking this page weekly; the class topics, lab assignments, weekly readings, and announcements will be posted to the class schedule each week.

2. Read some useful CS web pages

Go to the CS homepage (https://www.cs.swarthmore.edu/). From there click on the "cs lab help" button and read the Welcome Message, The User Agreement, and The CS Lab Rules pages.

3. Learn some UNIX

Read through our UsingUnix web pages and try the various unix commands. Make sure you understand the following commands: ls, cd, pwd, passwd, less, cat, mv, rm, cp, ssh

4. Learn the text editor....

Beginning this Thursday or Friday we will start using the text editors in class, so you need to at least know the basics.

If you're in Lisa's or Joshua's class, you probably want to learn emacs. If you're in Jeff's class, you should learn vim.


5. Run update21 and edit bio.txt

Note: if you added CS21 late, we may not have you in our list of students who can run update21 and handin21. Send me email if you have problems and I'll add you to our list so that these will work for you.

Once you have learned how to use a text editor, run update21 (if you haven't already) to get the starting directory for lab 0, then move into that directory (enter the blue commands):

$ update21          # creates subdirectory 00 in your cs21/labs directory
$ cd                # cd to home directory (in case you are not there already!)
$ cd cs21/labs/00   # cd into the directory for lab 00
$ pwd               # check to see that you are in the correct directory.
                    # if you are, it will print /home/your_uname/cs21/labs/00
The lab submission program, handin21, will grab all files from your cs21/labs/00 directory. Each week, make sure you create your lab programs and files in the correct cs21/labs/XX directory!

Next, edit the file named bio.txt (using vim bio.txt or emacs bio.txt) and answer the questions in that file.

If you use vim...If you use emacs...
$ vim bio.txt
$ emacs bio.txt

After you are done editing your bio.txt file, save your changes, exit the editor, then enter the ls command to list out all files. You should see the bio.txt file. You can also run the cat command on the file to see it's contents in the terminal window:

$ ls
bio.txt
$ cat bio.txt
...
... contents of bio.txt file displayed here ...

6. Submit

Once you are satisfied with your bio.txt file, hand it in by typing handin21 at the unix prompt.

You may run handin21 as many times as you like. Each time you run it new versions of your files will be submitted. Running handin21 after you finish a program, after any major changes are made, and at the end of the day (before you log out) is a good habit to get into.

7. Write a program!

Note: if you haven't learned any python in class yet, you may not be able to do this part in lab today. You should be able to finish this after the Thursday and Friday lectures.

Write a program called name.py that asks the user for their name and says "Hello", like this (what the user types is in blue):

$ python name.py 
Name: Jeff
Hello, Jeff!

To create and edit a newfile, use vim or emacs.

If you use vim...If you use emacs...
$ vim name.py
$ emacs name.py

Once you get your program running, turn it in by running handin21 again.

Logging out

When you are done working in the lab, you should log out of the computer you are using. First quit any applications you are running, like firefox and the Terminal. Then click on the logout icon logout and choose "log out".

If you plan to leave the lab for just a few minutes and then come right back to work, you do not need to log out, but it is a good idea to lock your machine while you are gone. You can lock your screen by clicking on the lock icon xlock. You should not lock a machine if you plan to be gone for more than about 10 minutes, and you should not lock main lab machines during times when classes are held in the lab.

Troubleshooting

If you can't find a file you created, check to see that you are in the directory you think you are.

If a file isn't in the directory you want it in, use the mv command to move it from its current location to a new location in your directory structure: The general form of the mv command is 'mv source destination', where 'source' is the pathname of the file you want to move and 'destination' is the pathname of the file you want to move it to. For example, if your bio.txt file is not in the correct cs21/labs/00 directory, here is how to move it to that directory:
  $ mv bio.txt ~/cs21/labs/00/bio.txt