Resources
Return to the index
Recognizing that not everyone has immediate access to a
[Unix] system to do work and submit assignments, the
following resources are available for your academic use:
Hosts
- The Internet Teaching Laboratory
-
A computer lab (frequently just called the ITL) in
Science Center 334. All of the machines usually run
[Linux] by default, but can be booted into Windows if
need be; if you'd like to switch, just reboot the machine, and
follow the instructions on the menu. The ITL is formally
maintained by the volunteers in COSI,
so if you're experiencing any problems (or just need help),
feel free to cross the divider into Science Center 336 and ask
anyone there. The ITL is open for as long as someone is in
SC336, which is often very late into the night. Note that the
ITL machines, while accessible from the public Internet, serve
ssh on non-standard ports (to prevent automated
scanning attacks), and it is generally discouraged to
ssh into them to work on them (but you may ask if
you'd like).
- odin.cslabs.clarkson.edu
-
This is a
[Linux] host (actually, a virtual machine)
also maintained by COSI and
administrated by Jeanna Matthews and
the CS141 TAs. All students enrolled
in the class should have an account on this; if it is not
working for some reason, please contact one of the
administrators, or anyone in SC336--who will probably know how
to find an administrator. Odin's passwords must be changed
manually; it is not part of Clarkson's domain
(please ask if you'd like to know how to do this). Odin is
accessible by its full name from anywhere on the public
Internet (modulo restrictive firewalls), so you need not be on
campus to take advantage of it.
- polaris.clarkson.edu
-
This is a rather-outdated
[Linux] host maintained by
OIT. Being a university resource with
access to far more than just CS141 material, OIT sets very
restrictive permissions, and we have a very limited ability to
administer it. In general, if you are having trouble with an
account, you may contact Jeanna, who
can get in contact with OIT on your behalf. Polaris always uses
the same password as your student email, moodle login,
PeopleSoft login, etc.; changing your password will have an
almost immediate effect on your Polaris login. Polaris is also
accessible from the Internet (again, ignoring firewalls).
Peers
These are people and organizations that you may ask for some help
with the course:
- Jeanna Matthews
-
The instructor of the course this semester; consult her office
hours or send her an email (her Clarkson username is "jnm").
She does not directly coordinate the labs for the most part
(the TAs do), but she is more than
qualified to help with commands and/or syntax, and can usually
find someone who can fix things or act as an authority.
- Teaching Assistants
-
These are subjugate instructors of Jeanna, and usually also matriculated students. They
will be directly overseeing the labs; feel free to ask them for help
regarding them.
- Clarkson Open Source Institute
-
The result of a large merge, COSI is a volunteer student
organization found in Science Center 336 that is not
affiliated with CUSA, but nonetheless recognized by the
Computer Science department. Their members maintain a number of
public services without pecuniary interest, including the ITL, Odin, and
other non-course related services such as a software mirror, a backup (under username "newmanre") of the
Internet Archive, the networking in both SC334 and SC336, and a
number of graduate student projects. Just about anyone you meet in
here will be more than willing to help you with an assignment or
lab, or at least know someone that can.
- Office of Information Technology
-
OIT is the IT department of the university. Their
responsibilities are far more vast than anyone single class, so
they tend to be somewhat busy; nonetheless, they have
relatively impressive turn-around times for technical issues,
on the order of a few hours to a day or two. They are the sole
maintainers of Polaris, so you
should contact them regarding issues with signing in
(not regarding course material, and in some cases, Jeanna's permission may be required
anyway, so you might as well just ask her). In general, they are
also a fair resource for any technical problems or issues stemming
from the use of most other computers on campus, and are frequently
kind enough to also look into issues with or recommendations for
personal computers, in my experience.
Windows Programs
Windows is the only popular operating system which does not
have a solid heritage in [Unix]; it derives a number of its
behaviors from DOS (itself from CP/M, which competed with Unix back in
the day). Most importantly, most of the commands won't work in any of Windows'
"command prompts", including PowerShell. Volunteer programmers have,
nonetheless, developed some applications which will allow you to use the remote hosts anyway, essentially superseding the use
of ssh and scp:
- PuTTY — www.putty.org
-
A software client for ssh, with a GUI, for Windows.
The GUI is rather imposing and shows many esoteric features
(most all of which can also be used from the command line), but
you generally only need to worry about entering a
[domain
name] or [IP address] and clicking "Connect",
after which it will prompt you for a username and a password.
It will then open a [terminal] emulator that will
allow you to work on the remote host.
- WinSCP - winscp.net
-
A software client superficially similar to scp, but
with a GUI and far more flexibility at easily selecting files
and directories, and keeps a connection open so as to avoid
having to authenticate multiple times. (scp has long
been known to be deficient in this endeavor; the program more
correctly resembles sftp).
Online IDEs
These online services can help you develop and create code. Note,
however, that I can't guarantee that any of the results which you
produce on one are repeatable, nor would, say, a link to a paste
count as a submission. Of course, if you save the file, transfer it to Odin, and confirm that it
compiles there, you can fairly quickly turn it in from there.
- CodeChef IDE — https://www.codechef.com/ide
-
A fairly quick and easy to use online IDE with syntax
highlighting and a comprehensive template that will suffice for
most of our assignments.
Using Odin
Odin is:
- A public service for our students, that they may use it wherever Internet access is available;
- the host that will receive submissions.
The latter is, significantly, why it it so important to know how to use Odin.
For a more in-depth explanation, please consult ssh and man ssh. For the impatient:
- ssh username@odin.cslabs.clarkson.edu, where username should be replaced with your Clarkson username, or assigned credential (consult Jeanna or the TAs).
- If the host asks Are you sure you want to continue connecting?, type out yes in full and tap Enter. Depending on your known_hosts file, it may ask you this more than once.
- When it asks you for password, if you have not set a password yet, use cspassword. (Otherwise, skip to step 7.) You will not see the characters you are typing, but you are typing them; this is a security feature.
- Assuming cspassword worked, it will probably ask you to change your password. When it says (current) UNIX password:, type cspassword and tap Enter.
- It will ask you for (new) UNIX password: and to repeat it. Type the password you want (twice), pressing Enter after each.
- Assuming all went well, it will say something to the effect of password change successful. It will then kick you out. You'll need to start from step 1, but follow the instructions for having a set password.
- If you have a set password, type it in when it asks you for username@odin.cslabs.clarkson.edu's password:. As in step 3, it will not display to you, but you are still typing it. Tap Enter when you're done.
- If all goes well, you should be at a
[shell] [prompt], nicely colored in green to distinguish it from other systems you might be on. To be sure, you should see @odin somewhere in your prompt. You may now start using commands as usual.
If you have any problems whatsoever with the above, please contact Jeanna or the TAs.
To copy [file]s to Odin, as will often happen if you work
on a machine other than Odin (such as your personal computer), you
have a couple options:
- For Windows users, see WinSCP, above.
- For Macintosh (and Linux) users, use scp.
The syntax for scp is not significantly different from
ssh, and I recommend going to the command reference (or
referring to the [man] pages for more information, but,
again, for the impatient: specify a remote source or destination by
appending a colon (:) and [path] to your username@odin.cslabs.clarkson.edu
pair.