Course Home
Syllabus
Schedule
Labs
Programming Assignments
Research Paper
Glossary
Additional Materials
|
Fall 2005
|
Room & Time:
Lecture:
MWF, 9:00-9:50 AM,
EPS 108
Laboratory:
Sec. 03, Thur., 8:00-9:50 AM,
EPS 254
Sec. 04, Tue., 10:00-11:50 AM,
EPS 254
Final Exam
Dec. 16, 8:00-9:50 AM
|
Instructor:
Bob Wall
bwall@cs.montana.edu
www.cs.montana.edu/~bwall
EPS 352
994-5978
Office Hours:
MWF, 10:00-10:50 AM
T, 9:00-9:50 AM
|
TA:
Anthony Arnone
arnone@cs.montana.edu
www.cs.montana.edu/~arnone
EPS 110
Office Hours:
T, 8:00-9:50 AM
|
|
|
Programming Assignments
A significant component of this class is implementing networking software.
You are required to implement all of the software in C or C++, to get your C
skills sharpened up and to get an understanding of the interface to the OS's
networking facilities at a lower level than you might get if you used Java
or some other language. The material and support provided for these
assignments will assume that you are using the sockets API on Unix (probably
Linux) to implement the programs. If you have a problem working on Linux and
want to try this on a different OS, like Windows or OS X, the API should be
similar enough that this will be possible, and I will allow it. Be aware,
however, that neither I nor Anthony is going to be well versed on these
alternatives, so you might not get much help if you run into problems.
The following is a brief list of the programming assignments; it will be filled
in as the semester progresses. Each entry has a link to a more complete
description of the program. Programs and any associated materials should be
emailed to Anthony by the end of the day on the due date - end of day means
11:59 PM. Programs will be due on Friday, so that everyone will have an
opportunity during a lab session to get some help, if required. I'm going to
tell you the same thing all your other CS teachers tell you - don't leave the
assignment until the night before. Try to get started on it, so you can take
advantage of the opportunities to get assistance from Anthony or myself.
Programming Assignments
WARNING: As these programs progress, you will be starting
multiple processes and doing some other things that might cause some discomfort
to the computer on which they are running if they get out of control. If this
computer happens to be esus, this will tend to annoy the other users of the
machine. To prevent this, make sure you do NOT run these
programs on esus. Use one of the Linux machines in the lab or your own box.
If you need to be able to work from off-campus or somewhere else where you
don't have a development machine, you should be able to log into esus, then
ssh to one of the lab machines. This can be a little problematic - you will
need to experiment to find a machine that's booted up in Unix. You can use
the command
on esus - it will show all the lab machines that currently have NFS
filesystems from esus mounted, which means they are running Linux. Just make
sure you aren't using esus.
|
|