Fourth FAQ

for

Project 1 -- Standard I/O and Device Drivers

Q. My group collected all the time data information and found a website with the t-test calculator and used it to calculate t. However, we don't know what to do with the t-test results in terms of comparing it to our predictions. We used paired and two-tailed for the calculations.

A. This is one of the reasons that I gave the last extension to the due date -- I want you to do a little reading on your own about the t-test, so that you understand a bit of how it works and how to apply it. As I said in the web page on empirical testing, I don't want you "just plugging in numbers and getting results that you don't understand at all."

So, where can you find resources to read that explain the t-test? It is in pretty much every book on empirical methods. For example, Empirical Methods for Artificial Intelligence by Paul R. Cohen (MIT Press, 1995, ISBN 0-262-03225-2), is a great book that is applicable to all of CS although the examples focus on AI. However, you can also look in books on empirical methods for other sciences as well (the library has many of these) as the testing methods are the same. Also, as I indicated in the class web page on empirical testing, there are plenty of web sites out there that do a good job of explaining the t-test.

You will need to do enough reading to tell you how to apply the numbers you get back from running the test. However, you will also need to do enough reading to determine which version of the test to run. Note, for example, that you can't decide whether to use a one-tailed or two-tailed t-test, unless you already have looked at your predicted outcome for each question. That is to say, if you make one prediction for question one, you'll run a one-tailed t-test, but if you make another prediction for question one, you'll run a two-tailed t-test. The same is true for each question.

For each test you run, you will want to justify why you chose the version of the t-test you ran with respect to both the paired vs. unpaired and one-tailed vs. two-tailed options.


Q. We are having problems in submitting the program electronically. I have a cs account but i dont know how to email using that. Also, i dont know what is a mime attachment and tar file and how to convert it into a mime attachment. I have tried to email that programs to myself using :

%echo "Frank Talk"| mutt -x -a talk9876-Project-1.tar -c talk@cs.ou.edu e

But how should i use the above command to email it to the TA

A. If you carefully follow the directions I gave, you don't need to understand what a mime attachment is, what a tar file is, etc. You can simply enter the command lines by doing text substitutions of your information in place of the example command lines that I showed for the hypothetical student named "Frank Talk". (Please note that there was an error in the original example line for mailing -- I omitted the subject line from the message. This has now been corrected.)

In case you are unclear what information to substitute, let me give you the command lines that would be given by a second hypothetical student, "Steven Biko" whose OU ID is "biko1234" and whose account name on the CS UNIX machines is "bantu".

Once he had collected all of the files in a directory, he would enter:

% tar -cvf biko1234-Project-1.tar *

This would create the tar file for him. Then he would enter:

% echo "Steven Biko" | mutt -x -a biko1234-Project-1.tar -c bantu@cs.ou.edu -s "3113 PROJECT 1 SUBMISSION" egdyeman@ou.edu

This would create an email with the body message saying "Steven Biko", attach the tar file named "biko1234-Project-1.tar" as a mime attachment, address a copy of the message to "bantu@cs.ou.edu", give the message the subject line "3113 PROJECT 1 SUBMISSION", and send the message to "egdyeman@ou.edu".

Now, all you have to do is substitute your information into the line above and everything will work for you. (Note that "egdyeman@ou.edu" is the email address of the TA. You cut off most of it in your email to me, which may be why you are having problems.)


If you are interested in how this all works, you can read the rest of this answer. If not, you can just follow the steps above without worrying about the rest.


The UNIX tar (tape archive) utility was originally created for backing up the contents of hard drives to tape. It is still used for that purpose but it is now used even more often to join a number of files together into a single file that also contains information on who owns the files, the file permissions, the dates they were created, etc. This is one of the primary ways of moving large groups of files around on UNIX systems and is one of the most common ways of installing software packages on UNIX.

The flags given above (cvf) tell tar to create the archive (c), be verbose -- that is, give details of what is happening (v), and put the archive in a file rather than on the tape drive (f).

When the TA gets the file, he will be able to extract the contents of the file using tar with the x flag.


The next utility being used here is mutt, which is an email program. Mutt is normally used interactively but I gave the example above using it in a command-line form, so that you wouldn't have to learn how to use it. (On the other hand, I find it to be an excellent email program, so if you don't already know another UNIX email program, such as pine, then maybe you should consider learning mutt.)

To verify that your message was sent properly, you can use an email program (such as mutt) to read your email on your UNIX account. So, if Steven from the example above were still logged in, he could just type "mutt" on the command line, the email program would start up, and he'd see a new message waiting for him. He could view the message, save the attachment, etc. (The basic commands for mutt are given on the screen and additional commands can be found by hitting "?".)


Mime (Multipurpose Internet Mail Extensions) is an internet standard for sending things in email besides plain ASCII text. Most modern email programs support mime attachments.


Q. Where and at what time today (Friday) can we hand in the hard copies of our project to you or the T.A.

A. You can turn in your assignment any time today by sliding it under the door to my office. Also, since I've said that hard copies only need to be turned in within 24 hours of the due date of the assignment and I've made this one due on a Friday evening, you can also turn in your hard copy any time up until 6 pm on Monday, again by sliding it under the door to my office.


Q. I already turned in my assignment but didn't include the raw data files since that wasn't mentioned anywhere besides the third FAQ. What should I do?

A. I'm sorry that it wasn't clear that I wanted the raw data to accompany your other project files. You should resubmit the electronic version of your project, with those files included. You should also turn in a hard copy of those files. However, you don't need to resubmit your entire paper version, just turn in the additional files with the names and student ID's of all team members on them, and we'll match them to the paper submission you already turned in. I'll give you an extra day to get all this taken care of, since it wasn't clear in the original assignment. So, the resubmitted electronic copy would be due by 6 pm on Monday, Sept. 24, and the additional hard copy would be due by 6 pm on Tuesday, Sept. 25. Please note, these due dates are only for people who have turned in the electronic and hard copies on time but missing the data files. If you don't have the other files turned in on time, they will be marked as late.