Outline for CSCI558L
Summer 2001 (unchanged
from Spring 2001, FYI)
Please read carefully:
|
| Class Description |
This is a lab course. Hence, it involves lots of programming and
careful reading and analyzing of source code. The workload includes the
following:
10+ laboratory assignments done individually.
Presentations done by two-student teams (one presentation per team).
Final projects done by two-student groups.
The laboratory assignments are designed to teach you how to install, configure
and administer modern computer systems, how to design performance experiments,
and interpret their results, and how to automate complex system administration
tasks using simple scripting languages. Please read the Lab Etiquette first.
The presentations involve researching background material, studying code,
and installing and demonstrating a program on the lab machines. You are
expected to spend several weeks to prepare your presentation.
The final project may involve linux/freebsd kernel hacking, networking
protocol implementations, device drivers, performance evaluation, etc.
Though I will have a list of projects to choose from, the students are
strongly encouraged to come up with their own project descriptions (based
on instructor approval).
|
| Text Book |
There is no textbook required for this course. However, you may find one
of the many available books on Linux administration very useful. Some recommended
books include: Linux Kernel Internals, Addison Wesley. The design and implementation
of the 4.4 bsd Operating System, Addison Wesley.
Most of the readings will be from papers and web pages found under "Useful
Links" on the sidebar.
|
| Implicit Student Agreement |
ALL work including homeworks, programming
assignments and exams must be that of the individual student. It is often
productive to study with other students. However, if any portions of homeworks
or programming assingments are found to be shared between two (or more)
students, zero credit will be given to all students concerned and all students
will be disciplined. This policy is in the interest of those students who
do their own work, which hopefully applies to all of you in this class.
This policy also holds for programming assignments. In this
class, we will use sophisticated automated program checkers to detect cheating.
Be aware that the program checkers have demonstrated very good results
and are widely used within the academic community. Any student caught cheating
will be given zero credit and will be disciplined.
It is the students responsibility to submit their assignments to
the TA in time.
For students who satisfied the CS402 prerequisite at other universities
or through work experience, this course assumes that you understand concurrency,
synchronization, and UNIX programming. You should be able to write large
programs in C. No special assistance or consideration will be offered if
your background is inadequate.
This class requires good knowledge of Socket Programming. However, we will
NOT teach socket programming as part of the class. You are expected to
learn by studying the tutorials provided in "Useful Links".
|
| Student Responsibilities |
You are expected to read all the papers in detail.
Not all details will be covered in class. I will assume knowledge
of material covered in EE450 and a C language programming proficiency from
CS402 or its equivalent. If you covered the introductory material at some
other school it is YOUR responsibility to fill in any missing background.
Feel free to ask me for advice on appropriate introductory readings if
you feel your background is insufficient.
Other background reading. Occasionally,
we will encounter material covered in other classes like cs551, cs555 or
ee555. You are expected to cover that material on your own. |
| I expect you to attend every class meeting.
If you do happen to miss a session, you are responsible for finding out
what material was covered and if any administrative announcements were
made. You must do so BEFORE the next session (e.g., if there is an assignment
given during the missed session, you are still responsible for completing
it by the next week along with the other students). You are advised
to read the material for a particular lecture before attending the lecture.
This will greatly enhance your understanding of the subject matter. |
| Grading Policies |
Lab Assignments (30%)
Assignments must be completed on time. No late submissions will be accepted.
|
| Presentations (30%)
Students are expected to form teams of two for their presentations. You
must pick your teamate early. You will be asked to pick a presentation
topic within the first week of classes.
|
Final Project (40%)
Final projects will also be done in teams of two. Your project partner
need not be the same as your presentation partner, although it is often
simpler if teams are the same.
|
| Exams
There will be no exams in this class. However, I reserve the right
to administer surprise quizes
|
Grading :
I WILL assign grades of C and BELOW to individuals who do not perform satisfactorily.
(i.e., you should not ``assume'' a B- or even C if you perform unsatisfactorily.).
However, I HOPE that everyone will perform well.
Your assignments must be your own work. Anyone caught cheating WILL BE
EXPELLED FROM THE CLASS.
You can view your grade online through this web site. You will be
provided with instructions on how to do so. Check your grade online after
each assignment. If you find any inconsistencies, please contact the TA
immediately.
I will NOT assign incompletes unless it is for a documented medical
reason (in accordance with USC policy). |