from Ohio State University.
How do I set my PATH?
The syntax for setting your path is slightly dependent on which shell you
are using. Most people end up with a C-shellish shell (like tcsh or csh)
instead of a Bourne-ish shell (like sh, bash, ksh). If you aren't sure what
shell you are running, look at the output of either
echo $shell
or
echo $SHELL
To read all the particulars for setting environment variables you should
look at the man page for your shell (i.e. man bash for bash, or man tcsh
for tcsh).
For Bourne like shells (bash, sh, ksh...), the syntax is:
export PATH=$PATH:~cs421/bin:~/bin
For C-shell like shells (csh, tcsh...), the syntax is:
set path = ($path ~cs421/bin ~/bin)
(The $PATH
means to keep the existing PATH and then append it with the other
directories listed.)
These commands can either be typed at the terminal each time you login,
or you can add it to your .bashrc for bash shell or .cshrc for csh or
tcsh so that each time you login, the PATH is already set. After
modifying your .cshrc or .bashrc, you will need to either source it
or log out and log in again for your changes to take effect.
Please also note that if you're running tcsh, creating your own
.tcshrc will toss out a lot of EWS-specific setup in
.cshrc, so don't do that.
How do I download files quickly with wget?
When we make assignments, we sometimes include supplementary files,
whether it be actual source code or test input or output. These files may
be downloaded using standard browser techniques (by selecting "Save as"
or equivalent) or by using the wget program.
The program wget is available on the EWS machines where you are expected
to do your development. The wget program is a part of the GNU project.
UIUC has a mirror of GNU's FTP site as part of UIArchive.
To retrieve a file by its URL, the syntax is simply
wget the-url-goes-here
To retrieve an entire directory of files, use
wget -r --level=1 the-url-pointing-to-the-directory
More options are available to wget; see wget -h.
How do I run a script I downloaded?
In the past, we have sometimes had students download scripts as part of a
project build. To be able to run a script requires that what you have
downloaded have the executable mode bit set, which you would do with the
command chmod. As an example, let us say that you downloaded a script
called gen_output, and you needed to run it. You may need to execute this
chmod command before you are able to run gen_output:
chmod u+rx gen_output
Of course, if you do not have "." on your path, to execute this script,
you may need to run the script like this:
./gen_output
As always, you should refer to the man pages for the commands that you
use. The man pages for wget and chmod are available on the EWS systems.
Newsgroups
How do I read the CS 421 newsgroups?
The CS course newsgroups can be found on the CS department
USENET server, news.cs.uiuc.edu. The groups for this course are
class.cs421 and class.cs421.announce. To use this server, you must log on using your netid and a special news server password.
For more information about newsgroups, including instructions
on how to set up your newsreader to access the groups,
as well as how to set your news server password, visit
http://news.cs.uiuc.edu.
handin
How do I hand in my MPs?
Read the individual MPs for the format of the handin and the files
required for each MP.
Submissions are made via Illinois
Compass.
You may submit your assignments as many times as you like, but only the last
submission will be graded.
If you submit an assignment by its deadline, you may still submit the
assignment again during the 48hr Late Extension (provided the late
extension is offered). Of course, we will only grade your last submission
and the 20% late penalty will apply.
To submit your MP:
1. Login to an EWS machine where your MP solution is located.
Note: It should work with any EWS linux machine.
2. To submit an MP, change into your work directory (this directory should
contain the file mp1.ml) and run
zip netid.zip mpX.ml [helper files, if any]
3. Use scp or sftp to transfer the zip file over to your desktop, and upload it
through the Compass web site.
MPs
On a specific MP, can we use functions we defined in previous questions?
Unless we specify otherwise, the answer is yes.
Are we allowed to write helper functions?
As long as such helpers do not impede other requirements of the
question (such as requiring the solution, overall, to be tail
recursive), and as long as we don't specify otherwise; the answer
is yes.