Lab 1
Introduction
In
this first lab you will be introduced to the computing environment in
the Baldy 21 lab. If you are familiar with Unix/Linux or Eclipse, you may know how to do
some or all of the following tasks. Do them anyway. If
you are new to Unix/Linux or Eclipse, these exercises will get you up and running with
most of the tools you need to successfully complete the lab assignments
of this course. Some further tools will be introduced as we need them
in later labs.
You should not expect to finish all of these
exercises during the allotted lab time. You should plan to return to
the lab during open lab hours (hours when the lab is open but there are no formal labs scheduled) to complete your work.
Read through the entire lab before you start working, so that you
know what to expect. Make sure you save your work often, and keep
track of what you are expected to submit.
Objectives
The objective of this lab is to introduce you to the Linux flavor
of the Unix operating system and the Eclipse development environment
so that you can work on the labs independently.
Preparatory work
Be sure you completed the preparatory work outlined in the
Lab 1 Prep Work.
Lab Tasks
You must now carry out each of the following tasks on your own in the lab setting.
Logging in - Connecting to the system
Your
first lab task is to log in to your CSE computer account. Your CSE
account is valid on the computers in Baldy 21. This account is separate
from your UBUnix account.
-
If
you have not had a CSE account previously, your login name is the same
as your UB-IT name. Your password is the same as your UB-IT password
was at the time when your CSE account was created.
-
If
you have previously had a CSE account (e.g. if you took any other CSE
course last year where you received an account), your login name and
password should not have changed.
Unix is the name of the operating system
that is running on the machines in the Baldy 21 lab. An operating
system (or OS) provides basic services to both programs (applications)
running on the machine and to users who are working on the machine.
Examples of services provided by an OS are a facility to read the
contents of a file from a disk, or run multiple programs at one time
(multi-task).
Gnome is a windowing system, or graphical user interface (GUI), to the underlying Unix operating system. Gnome is thus separate from the operating system. A windowing system manages windows on a screen and provides a graphical way of interacting with the operating system.
On
personal computers it is becoming more and more difficult to
distinguish between the operating system and the windowing system as they
are becoming more tightly integrated. In the Unix world however, the
separation is still clear and it is not uncommon for different users on
a given system to use different window systems.
To log in:
- You should see a welcome screen with a place for your username.
Enter your username (UB-IT name), and then press OK.
- You will then be asked to enter your password. Enter your password,
and then press OK.
When Gnome is finished loading, you will
be presented with a desktop. There will be a few icons on it that looks like this:

There is a panel across the top of the screen which has two menus on it. This is similar to the Start Menu feature of Microsoft Windows. There is also a panel along the bottom of the screen. If you want to know what anything does, hover your mouse over it and a little description will appear.
In case of emergency where you suddenly need
to leave, such as your grandmother dying (it happens a lot in this class),
let's discuss how to log out of the system before we go any further.
- Just click on the "Actions" on the panel at the top of the screen, then select
"Log Out".
You will receive a message asking if you're sure you want to log
out. If so you will see a checkbox that says "Save current setup".
Your "setup" consists of things like which icons are on your desktop.
If you want to save your setup, so that your desktop looks the same
when you log back in as it does when you log out, check this box. If
you would rather have your desktop revert to what it looked like when
you logged in, ignoring changes you made while you were logged in,
don't check this box. Then click on "OK" and you will be logged
out. Remember to never leave the lab without logging out, even if
it is "just for a minute"!
Spend a moment getting comfortable with Gnome.
To move a window with a title bar (for example double click on 'Computer' to get a window),
click and hold the left mouse button in the middle of the title bar and
drag it to a new position. If you click on the small buttons in the title
bars of the windows, different things will happen:
-
The rightmost button on the title bar:
Left-clicking this will close the window. Try it out: open a window and close it.
The button to the left of that (in the middle
of the three):
Clicking this will toggle the window between "maximized" and "unmaximized"/"normal" modes. In maximized mode, the window will take up the full space of the screen. In normal mode, the window is not necessarily the full size of the screen and you have the ability to move it around and see other things on the screen as well. Try maximizing and unmaximizing some window.
-
The button to the left of that (the left side
of the three):
Left-clicking on this will minimize the window. It keeps the program
running but hides it from view. Now we need to get it back. Just click on the corresponding item on the panel along the bottom of the screen.
-
The button on the far left of the title bar:
Clicking on this will bring up a menu of different things you can do
to the window. Try it out and see what can be done.
As previously mentioned, Gnome is just a
windowing system that interacts with the underlying Unix operating system.
To interact directly with Unix, we need what is called a terminal.
Here are two ways to bring up a terminal in Gnome:
- Right click on an empty space on your desktop and select "Open Terminal"
from the menu.
- Click on the Applications menu on the panel at the top of the screen.
Click on "System Tools", then click on "Terminal".
The terminal window will look like this:

The > symbol is called a prompt. You will type
commands after (to the right of) the prompt to get the Operating System to perform various
tasks for you.
Adding the ampersand (&)
to the end of a Unix command makes it run in the background. When a
command runs in the background (as opposed to the foreground) you get
the Unix prompt back so you can type another command if you wish to. In
this way you can multi-task (have several applications running at once)
without needing a terminal for each application.
The files which you create are stored on a machine called a file server,
which is accessible from all of the workstations in the lab. In other words,
it doesn't matter which workstation you log in at, you will be able to
access exactly the same files. The computer which you will use in the Baldy
21 lab is called styx.cse.buffalo.edu, or just styx for
short. This computer shares its files with several systems, one of which
is called nickelback.cse.buffalo.edu (nickelback for
short), which you can log into from other places, on or off campus.
Changing your Password
It
is a good idea to change your password from your default password to
something else. You should change your passwords often to help keep
your account secure. You must never share your account password with
anyone (including your friends and classmates). Read the section in
Chapter 1 (pages 11-12) of the Unix book about changing your password. Passwords can
only be changed while logged into hadar.cse.buffalo.edu. This is the only operation that you should do while logged into hadar. The rest of your work for this class should be done logged directly onto your machine. Do this now:
To log into hadar, at a prompt type:
ssh hadar
If you receive a message starting with "The authenticity of host 'hadar (128.205.32.1)'..." type "yes" (without quotes) and hit enter. Ignore the warning that comes up. Then it will ask for your password by saying:
username@hadar's password:
where
'username' is your account name. Type your CSE account password. Nothing will show up, not even asterisks, this is normal. Hit enter and you are now logged on to hadar.cse.buffalo.edu.
Follow the instructions in the book on how to change your password.
Note: it may take a few minutes for the password change to work. This
is normal. When you are done changing it, then type 'exit' at the
prompt, and you will see:
Connection to hadar closed.
Because your CSE account is separate from your UBUnix account, changing the
password on one account does not automatically change the password on
the other. You should change passwords on both accounts on a regular
basis.
Note that hadar uses a slightly different operating
system than styx and nickelback, and you
cannot run the correct version of Eclipse and related tools on this
system. Use hadar only to change your
password.
Unix and utilities
In this section, you will experiment with some basic Unix
commands, and learn a little bit about the way in which Unix
organizes its file system.
Basic Unix directory structure
Like most file systems (including the one in Windows), Unix's
is tree-structured. The root of the file system is named
'/'. As a user on the system you have a home
directory ("directories" are called "folders" in some
operating systems, like Windows), where all your files are
stored. Unix has a "shortcut" to represent your home
directory. This shortcut is the tilde (~). Whenever you want your
home directory, you can just type ~. To find out where your home
directory is, type
echo ~
When I do this, I find out that my home directory is
/home/csefaculty/adrienne. The first '/',
because it is not preceded by anything, refers to the root
of the file system. Subsequent '/'s, which are
embedded within the string, function as separators between
directories. This means that my home directory adrienne is located in the subdirectory csefaculty, which is a subdirectory of home, which is an immediate subdirectory of the root directory (which is, as mentioned above, designated by '/'). "/home/csefaculty/adrienne" is a path
which describes how to get from one directory (in this case the root
directory) to another (in this case my home directory). A path can
either be absolute (starting at /) or relative (starting at the current directory).
Every directory has two special entries, . and .. The entry . refers to the directory itself, and .. refers to the directory's parent directory (i.e. the directory of which this one is an immediate subdirectory). The . and the .. are "shortcuts" as well. No matter where you are, if you want to use your parent directory, then you just use ...
The
root directory is the only directory in the file system which does not
have a parent directory. (Actually, this is not quite accurate. If you
inspect the root directory you will find that there is a .. entry. The parent of the root directory turns out to be the root directory itself!)
Running a Program on Unix
At the prompt, type the command /projects/CSE115/Setup/115setup. This command runs a script on the Unix system that does a number of things behind the scenes to get you set up to work on the labs. The one thing that you can immediately notice is the creation of a file called cse115.epf in your home directory. This file will be used when we start developing programs. However, after you type the command and press Enter, you simply get the prompt back. How would you ever know that this file was created? Well, read on and we will see how to navigate the Unix system's file structure to find the file cse115.epf.
Getting started with Unix
Below are listed some basic Unix commands. Read the description of each, and carry out any exercises given.
-
ls - This command gives a listing
of the files in a directory. Without any arguments, it provides a
listing of the files in the current directory, and is therefore
equivalent to
ls .
If you specify a directory using a path, ls will
respond with a listing of the contents of the specified
directory. Try typing ls at the Unix prompt. When you
do, you should notice the file named
cse115.epf. There may be other files in your
directory as well. If you do not see the file named
cse115.epf in your directory, you need to run the
/projects/CSE115/Setup/115setup command
again.
Now do the other examples on the ls pages (pages
13-14 of the Unix book).
-
cd
- This command changes the current directory. Without any arguments, it
changes the current directory to your home directory, and is therefore
equivalent to
cd ~
If you specify a directory using a path, cd will set the current directory to the specified directory. One neat thing is that using .. as an argument to cd moves you to the parent directory. Do the examples of using cd on pages 15-16 of the Unix book.
-
Using wildcards - Wildcard characters are used in patterns to match filenames. For example, the wildcard character '?'
matches any single character. Another wildcard that will be useful is
the '*' character. This character matches multiple (zero or
more) characters. Review page 21
of the Unix book for the basic use of wildcards.
-
man - The man command brings up a manual page (help screen) for a specified command. Let's get the man page for the finger command by typing man finger. Also try the examples given for man on pages 26-27 of the Unix book.
Directories and files
Next is a list of some fundamental commands which allow you to
manipulate and organize files in a Unix file system. Read the
description of each, and carry out any exercises given.
-
mkdir - This command creates the specified subdirectory. Follow the example on pages 30-31 to make your own subdirectory named NewDirectory.
-
cp - This command copies a file to a new location, leaving the original unchanged. Type
cp NewDirectory temp
How many files does ls report now? Look at the examples on pages 34-35 of the Unix book for more ways to use cp.
-
More fun with ls - Pages 36-37 of the Unix book talk about the different ways you can use ls
to get different information about files. Figure 2.1 on page 36 will
help those who have not used Unix before understand what gets displayed
to the screen when you type ls -l at the prompt.
-
mv - This command moves a file from one location to another. But beware, the mv
command is also the rename command. For example we can
rename the file called temp so that it is
called notsotemp by typing the following:
mv temp notsotemp
If the first argument to the mv command is a file and the
second argument is a directory, then the effect is that
the file is moved into the indicated directory. For
example, you can move the file into the directory we created:
mv notsotemp NewDirectory
A directory is just a special type of file to Unix, so we can rename the directory we just
created before by moving it to a new location. Type
mv NewDirectory MyDir
to rename the directory. Now type ls to see what has happened. See the examples on page 38.
-
rm - The command rm removes a file.
Type rm -i temp followed by ls. How many files does ls
report now? Read more about rm on pages 39-41. Do not remove files from your directory that you did not create. Using ls with various flags can show you many files that were put in your directory when your account was created. Removing these files has the potential to disallow you from logging into your account. A good rule of thumb is, if you didn't create it, don't try to remove it unless you are very sure you know what it is.
-
rmdir - This command removes the specified subdirectory. Type
rmdir myDir. Read pages 42-43 for more examples of removing directories.
The command shell
Chapter 3 of the Unix book talks about shell command interpreters (often referred to as just shells).
You interact with the shell when you type commands at the prompt. You
should read this chapter. It is important to know that there are
different shells available and understand what some of the differences
are amongst these various shells. This chapter also leads nicely into
Chapters 8, 9 & 10 that deal with running and writing basic
programs that can work with the shell and also with configuring the
shell. These topics are a little more advanced than you need for this
course. When you are ready to delve deeper into the world of Unix these
chapters are a good place to start.
Creating a file
Chapter 4 of the Unix book mentions two editing programs you
can use to create and edit files. This semester, we will develop
our Java files in an editor called Eclipse, which is an
environment designed specifically for creating programs. However,
it has the ability to create files that are not related to
programming. (If you have Eclipse installed on a Windows machine,
you can edit Word and Excel documents using Eclipse!) In this lab
you will use Eclipse to create a simple text file. In the rest of
the labs this semester, we will use Eclipse to create our
programs.
Web browser
The next thing you might want to do is start a web browser. The web browser installed on these systems is Firefox. Start the firefox web browser by selecting "Applications" from the panel at the top of the screen. Then select "Internet" and then "Firefox Web Browser":
When you first start firefox, you might get a window that looks like this: 
Just click on "Next >", then in the following window, click "Finish".
Navigate to the course website at www.cse.buffalo.edu/faculty/alphonce/Courses/Fall2007/cse115,
and browse around to get a feel for the types of information
available to you. You are expected to check the main page of the web
site for announcements on a regular basis. Note that this lab
assignment (and all future lab assignments) is available from the
course website.
Setting up Eclipse so you can work on the rest of the labs
Create a directory in your home directory named cse115.
Change directories into that directory (using cd).
Make a directory named workspace.
Now you need to open Eclipse.
It might be helpful to create a shortcut (or "launcher") on your desktop
for Eclipse. To do this, first right click on your desktop and get
the following menu. Select Create Launcher:
Then you will get the Create Launcher dialog. Make your Dialog look like the one below and click "OK":
The "Name" section lets you specify the name of the launcher.
The "Generic Name" should generally be a description of the general
type of application specified in the name section. The "Comment"
section describes what the launcher does. Finally, the "Command"
section specifies what command to run when the launcher is used. For
more information, see the on-line Gnome
User's Guide, Chapter 4 Working with Panels.
Now you will see an icon on your desktop for Eclipse. You can double-click on it to run Eclipse.
When you start up Eclipse, you will see the following screen:

Next you will see a Window that will ask you which workspace
you want to open. By default, it will probably say something
like this:

You do not want to
use this default workspace. Use the Browse button to make the
workspace point to the directory you just made named workspace,
like this:

Be sure to check the box "Use as default and don't ask me
again", and then click "OK".
You will then see a screen that looks like this. You will
choose the arrow to take you to the Eclipse workbench.

You will then see the default workbench setup. The TAs will
talk about customizing this and changing it around throughout
the semester. You don't ever have to customize the Eclipse
workbench, but we have some suggestions for making life easier
when working on projects for this course.

Exercise 1 (25%)
Using the rm command without the -i
flag can lead to disastrous results, especially if you execute
the command and have a typo. Suppose you wanted to delete all
files with the file extension .txt (rm
*.txt), but when you typed the command, you accidently
typed rm * and now you have deleted all the files in
the directory, including the files for the project that is due in
15 minutes for CSE 115!
To help avoid these calamities, we are encouraging you to
alias the rm command to actually execute
the rm -i command. This way, the system will prompt you to ensure
that you really want to delete the files you requested. You can
read about the alias command on pages 190-191 of the
Unix book. Note, however, that for our systems you format your
alias command like this (note that this is different than the
book):
alias rm 'rm -i'
The general
form of the command is alias alternateName
actualName
You can alias as many commands as you wish, but for the
purposes of the exercise, we are most concerned with you
alias-ing the rm command. You can do
this by creating a .alias file using Eclipse's text
editor.
Added note!
It turns out that Eclipse likes to keep files that you create from
scratch in a "project". You will learn how to create a project in
Eclipse a bit later on this semester. For now, it will be easier
if you create an empty file named .alias in your home
directory, and then modify that file using Eclipse's text editor.
Here's an easy way to create a new and empty file named
.alias in your home directory:
touch ~/.alias
Run Eclipse by typing eclipse & at the prompt. Once
you have started Eclipse, make sure you have proceeded to the
workbench, then use File->Open File... to browse to
and open the .alias file you created in your home
directory. You will need to right-click in the filename list and
select "Show Hidden Files" to show also those files whose names
begin with "." (the so-called "hidden files"). You may also want
to click on the "Home" icon in the far upper left corner of the
"Open File" dialog (this is not the same as the "home" that might
appear above the file list, but the one that is above the
"Desktop" icon) to get the file list to show the files in
your home directory.
ASIDE 1: It is common practice
to abbreviate menu selections that you need to make in
instructions like these. For example, we can abbreviate
select "Open File..." from the "File" menu
by simply writing File->Open File.... We can also
abbreviate longer menu selections in a similar way. For example,
we can abbreviate,
from the "File" menu, select the "New" option, and
then select "Untitled Text File" from the menu that selecting
"New" brought up
by simply writing File->New->Untitled Text File.
ASIDE 2: Files whose names begin
with a period, like .alias and .cshrc,
are called "hidden files" because by default the ls
does not display them. The reason is that these files are
typically configuration files which most users do not need to
worry about. However, if you want ls to show you
all files, you should use the "-a" option, as in
ls -a.
You can place any aliases that you wish to create for yourself in
this file. Save this file.
Next, create a backup of your .cshrc file by
copying the file to a file named .cshrcBack, using
the cp command. Creating a backup copy of a system
file is always a good idea before attempting to modify it. This
way, if you do not like the settings you changed or if you broke
something, you can simply revert back to the original settings
before the changes.
Now open the original .cshrc file in the Eclipse
text editor (File->Open File...), selecting "Show
Hidden Files" again, and then browse to the file. Once your
.cshrc file is opened, type the following at the
bottom of the file:
source ~/.alias
Save and close the file. Next time you log into
styx, your aliases will take effect. To make the
aliases take effect right now, you can type
source
~/.alias
at the Unix prompt.
Import preferences file
Next you need do tell Eclipse a few things about how you want
it to behave. This is a one-time process. In other words, once you
have successfully carried out these steps you will
NOT need to repeat them in lab.
Earlier while working on this lab, you ran a script from the
prompt. This script put a file in your home directory named
cse115.epf. You should check to see that this file is
in your directory by typing ls at the prompt
again. If you do not have the file, you should
run the script again by doing the following: at the prompt, type
/projects/CSE115/Setup/115setup and hit Enter. After
you do this, the file named cse115.epf should be in
your home directory. Verify this, using the ls
command; it the file is still not there, ask your lab TA for
help.
To import this preferences file into Eclipse, you will first
need to open Eclipse's Import dialog: "File"->"Import".
An "Import" dialog window should appear.
Select the first + sign (or the > symbol depending on your OS) to expand the "General" Folder. Note that there is now an option for "Preferences", as below. Select it and then click "Next".

This opens up an "Import Preferences" dialog window. Browse to the file cse115.epf in your home directory and select it.
The rest of the options should be OK as they are (they should be as in the screenshot above - if not, make them the same). Click "Finish".
Seeing the connections to code repositories
If you do not have a tab in the lower portion of your screen that says "CVS Repositories", you should open that View so that you can see what Repositories you have connections to. To do this, select Window -> Show View -> Other. You should then select to expand the entry for CVS and select CVS Repositories and click OK. You will now see a view tab on the bottom of your screen that shows which repositories you have access to:
Notice that in the repositories tab, you should see five
repositories: one for the code from the book (that you have in
draft from Great Lakes Graphics and Printing), one for the
"LabSkeletons" that you will use for later labs, and one for the
lecture sections which will hold code that your instructor has
presented in lecture. At any time, you can view any of the code
we have been using in class.
Make local plug-ins available
We want to work with the same tools in the lab as we have been using in the classroom. In order to do this, we need to make our UML tool (Green) and the Dr. Java plugins available to our Eclipse session. To do this, go to "Help" -> "Software Updates" -> "Manage Configuration".
This will open up the "Product Configuration" window.
Select "Add an Extension Location" from the right-hand window. You will see the following window:
Click on "Filesystem" in the left-hand pane and browse to /projects/CSE115/eclipse
Once you've done this, click "OK". After you click "OK" Eclipse will ask whether to restart the workbench:
Click "Yes" to restart the workbench. When you do, your Eclipse window will disappear for a little while, then Eclipse will start up again.
To make sure you have set this up correctly, you should start
up the Dr. Java Interactions pane. To do this, select
Window->Open Perspective->Other... This will open the
"Open Perspective" dialog window. Select "DrJava" and click "OK". If
everything is installed correctly, you should have the DrJava
"Interactions Pane" along the bottom of your Eclipse window, and
inside the "Interactions Pane" you should see the following text:
Welcome to DrJava.
>
If you encounter problems, ask your recitation TA for help.
E-mail
Since you have a UB-IT account (i.e. an ACSU or UBUnix account) you also have an e-mail address @buffalo.edu.
You cannot receive e-mail at this account until you enable it (even
though you can send e-mail from this account without needing to do
anything special). You should have enabled your UBUnix e-mail account
before coming to your lab session. If you have not already enabled this
e-mail account, do so now by visiting http://mailcluster.acsu.buffalo.edu/newuser.html,
entering your UB-IT name and clicking the "Submit" button.
The
CSE e-mail system is separate from the main UB e-mail system. You can
choose to maintain two separate and parallel e-mail systems for
yourself (make sure you read e-mail at both sites). An alternative is
to designate one as your primary e-mail system, and to forward your
e-mail from your secondary e-mail service to your primary. When you account was
created, it automatically forwards your CSE
email to your
UBUnix
account.
If
you would like to maintain two separate email accounts, just delete the .forward file
in your home directory.
If you choose to maintain two separate email accounts, you can use Thunderbird to read your email. The information you will need to setup Thunderbird is located here.
Exercise 2 (25%)
Send
an e-mail to the grading TA for your section. (See the table below for
who your grading TA is, then look on the course web site's "People"
page to find their e-mail address.) Make sure you send a copy to yourself by
including your e-mail address in the list of recipients in the "To:" or
the "CC:" line. It is strongly suggested that you use UBUnix WebMail. The email should be received from your buffalo or CSE mail address, no other email addresses will be accepted. (Resist
most strongly the urge to send a copy of this e-mail to your lecture
instructor or the teaching TA that is in the lab with you now.) The subject of your e-mail must be: `CSE 115: Lab 1 your name and person number'. For example, `CSE 115: Lab 1 Frodo Baggins 13572468'.
The
contents of your message should describe, in 50 words or less, why you
want to take CSE 115. You should also create an attachment to this
email that is the file you created named .alias that contains your definition of the rm
alias and any other aliases you wished to create. In order to do this, you must manually type in the location of the .alias file (remember it is in your home directory, so it is ~/.alias. Verify that you can
read the mail once you receive it.
Recitation Sections
| Grading TA (for this lab)
|
A1, A2, A3, A4 |
Pradipto Das |
B1, B2, B3, B4 |
Yu Liu |
C1, C2, C3, C4 |
Lei Shi |
Miscellaneous topics (from Unix book)
If you wish to explore Unix further you are encouraged to read the Unix book in its entirety.
Chapter
5 deals with some of the security features implemented on Unix. It
talks about how users are allowed access to some files, but not to
others. This is important especially if you are creating a webpage. In
order for everyone to view your page, you need to make sure that the
files are readable to everyone. It also discusses groups and group
permissions to files - so that everyone does not have access, but
rather only those members of a specific group.
Chapter 6 deals with manipulating parts of files, and comparison between them.
Chapter
7 talks about getting information out of the system, such things like
who else is on the system at the same time you are. All of these
chapters have useful information in them, but this lab would get much
longer than it already is if we went through every page. You are
encouraged to read these chapters and learn the material in them.
Chapter
12 talks about some basic issues related to the Internet, Unix, remote
systems, how to communicate with users and how to transfer files. This
book suggests using lynx to surf the web. Lynx is a
text-based browser available on our systems. I would, however, strongly
suggest that you use a graphical web browser instead. The only
currently supported browsers on our Unix system are Netscape and Firefox.
Chapter
14 deals with installing software onto the system. At this time, you
will not need to do this, all of the software needed for this class has
already been installed on the system for you.
Chapter 15 talks about
some handy utilities available on the Unix system, like a calendar (we
have a graphical version called xcalendar; also useful is plain old cal), a calculator (we have a graphical calculator named xcalc),
spell checkers, and history keepers. This is a valuable chapter for
making working with Unix more enjoyable.
Chapter 16 talks about system administration by being logged in as root. You can only log in as yourself on our systems.
Chapter 17 talks about some
more advanced Unix tricks that are nice to know, such as mail sorting
and multiple file replacement.
Appendix A is a recap in short
tabular form of all the commands discussed in the book - a good quick
reference guide.
Appendix B talks about the main file structure for a
Unix system.
Appendix C gives a list of many Unix commands and the
flags that can be used on them. It also gives a description of what all
of those things do. For example, in the command ls -l, the -l is called a flag (or option) on the ls command.
Use the Tools You Have Been Given
One
of the most important lessons that you can learn as a computer
scientist is how to make the resources available to you, work for you.
The same is true of the resources of this class. Information is always
given during lectures and recitations and you are most strongly
encouraged to attend all lectures and recitations throughout the
semester. There is a wealth of information available on the course
website to help you with the material of this course.
Another resource that is available to you is the staff
of the course, which includes both the instructors and the teaching
assistants. There are office hours available at many times throughout
the week for you to go and receive extra help on an assignment or
simply have some questions answered about the week's material. No
appointments are needed to come to office hours.
Exercise 3 (25%)
To ensure that you will be able to use the resources of this course,
you will spend some time this week visiting office hours. You will
also use the resources of this website to help you on your
journey. First, follow this link
to find the Lab 1 attendance form. You should print out the form.
Follow the directions on the form to complete Exercise 3. This form is
due to be handed in at the beginning of your next recitation section.
Note that the electronic portions of this lab are due to be completed
by 11:59pm the night before your recitation meets
next week. To qualify for early points, all of the electronic portions
must be handed in early - the attendance form can only be handed in at
your next recitation. Do not try to hand it in early - it will not be
accepted.
Exercise 4 (25%)
Another resource for this course is the CSE
Mentoring program. You have met the mentors for your lab section
today. You must email one of them and give them a list of free times
that you have during the week so they can schedule mentor meetings
for times that are available for all of you. Please include
available times for each day (Monday - Friday) from 8:00am until
9:00pm. You will be required to attend the first meeting with your
mentor as part of next week's lab, so please make sure that the
times you list are available times for you. The email should
obviously include your name and which recitation section you belong
to. The subject of your email must be:
[CSE MENTORING] My availability: Your name
with Your name filled in appropriately. You should have received email addresses for the mentors for your section in lab this week.
Due dates
You have one week from the meeting of your lab to submit the
solution to any electronic parts of the lab. For example, if your
recitation meets on Wednesday, September 5th then you must
submit the lab by 11:59 pm on Tuesday, September 11th. The
attendance sheet for Exercise 3 must be handed in at the beginning
of your next lab session. The due dates are summarized in the table
below. If you submit more than once, the later submission will
simply overwrite the previous one.
| Date of lab |
Due date for electronic submission |
| Tuesday, September 4 |
Monday, September 10 |
| Wednesday, September 5 |
Tuesday, September 11 |
| Thursday, September 6 |
Wednesday, September 12 |
| Friday, September 7 |
Thursday, September 13 |