|
|
|
Focus
|
This class covers operating systems and networking technology.
It focuses on practical systems design, performance evaluation,
monitoring and diagnosis. Through the class, students will gain
detailed understanding and hands-on experience about how systems
work in the real world.
The class will equip students with three specific skills:
- Presentation:
Each student will give one 30-minute
presentation on a particular topic of their choice from a
list suggested by the instructor. There will be questions and
answers following each presentation.
- Laboratory Exercises:
Each student will conduct three
lab exercises on routing and TCP with Cisco routers and Linux
workstations. The exercises will familiarize students with
modern routers and common tools for network diagnosis and data analysis.
- Class Project:
Each student (or a team of two students)
will implement and demonstrate a systems project. Students
may choose their projects from a list suggested by the
instructor, or define their own ones with the instructor's approval.
|
|
Academic Integrity Policy
|
Please make sure you read the Academic
Integrity Policy of this course.
|
|
Textbooks
|
There are no required textbooks for this class.
The following resources are recommended books.
In most cases, you will find the necessary material in man pages,
Linux HOWTOs and other publicly available Web resources.
These books merely make that information more readily available.
The following books were ordered and should be available at
the USC bookstore:
Cisco IOS in a Nutshell,
Essential System Administration,
Linux Device Drivers, and
The Linux TCP/IP Stack: Networking for Embedded Systems.
|
|
Academic Calendar
|
A link to the
USC print $semester ?> academic calendar
is provided here for your convenience.
|
|
E-mail
|
Most class related announcements will be done through e-mail via
an e-mail reflector setup by the instructor. Please see
instructions on how to get
on this list (you should do this as soon as possible).
|
|
Exams
|
There are no exams for this class.
|
|
Grading
|
-
Pleaes also note the following:
- The above percentages will be used to calculate your total score.
Final grades (A,B,C,D,or F) will be determined using a modified
curve (i.e., we won't necessarily assign an equal number of failing
grades as passing grades) based on this total score. No other methods
will be considered. (So, please do not ask the instructor to take how
much you have improved since the beginning of the semester into account.
You are expected to try your best from the beginning!)
- We will assign grades of C and below to individuals who do not
perform satisfactorily in the above areas. (i.e., you should not
assume a B- or even C if you perform unsatisfactorily.)
However, we hope that most students will perform well.
- Your assignments are your own work! No group assignments are allowed
or will be tolerated. You are free to talk to other students about
assignments but no actual material (files, photocopies etc.) should
be shared. We will act harshly at any sign of copying.
- We will not assign incompletes unless it is
for a documented medical reason (in accordance with USC policy).
|
|
Late Policy
|
You are strongly encouraged to turn in all assignments on time.
Late submissions of lab exercises and projects
will receive a 25% penalty per day.
Late submissions of presentation
topics will receive a 10% penalty per day.
If you are unable to complete an assignment due
to illness or family emergency, please let the instructor know as soon as
possible to get an extension. A doctor's note is required
as proof of illness or emergency.
|
|
Regrading Policy
|
Requests to change grading of lab exercises
must be submitted in writing within one week
of the time the initial grade was given. Requests must be specific
and explain why you feel your answer deserves additional credit.
A request to re-grade an assignment can result in the entire assignment
being re-evaluated and as a result the score of any part of
the assignment be increased or lowered as appropriate.
|
|
Office Hours
|
The instructor's office hours are held twice a week for one hour each.
You are welcome to make an appointment to see the instructor outside
of office hours.
|
|
Extra Credits
|
No extra credit assignments will be given for this class. So, there
is not need to ask. Try your best from the beginning!
|
|
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 assignments 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 CSci402 prerequisite at other universities
or through work experience, this course assumes that you are familiar
with programming on the UNIX platform.
You should be able to write programs in C/C++ and be
familiar with the UNIX development environment
(vi/pico/emacs, cc/gcc or g++/CC, make, etc.)
No special assistance or consideration will be offered
if your background is inadequate.
|
|
Student Responsibilities
|
During the semester you are responsible for completing the assigned
readings, homeworks, programs, and exams.
You are expected to read all the papers in detail.
Not all details will be covered in class. We will assume knowledge
of material covered in CSci402 and a C language programming proficiency from
CSci402 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.
We 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 papers for a particular lecture before attending the lecture.
This will greatly enhance your understanding of the subject matter.
|
|
Fairness
|
The instructor must treat all students equally and cannot
give special treatment to any particular student.
Therefore, please do not ask special favors from the
instructor because of your circumstances.
This may seem unfair to you because you believe that your
circumstances are special (understandably, everone
does). But the rule the instructor must follow is that
whatever
he offers you, he must offer to the entire class.
|
|
Auditing
|
Auditing is not permitted for this class.
|
|
Additional
Resources
|
Programming:
- C Programming
(by Steve Holmes at the University of Strathclyde in Glasgow, England)
- includes notes on make, separate compilation,
file I/O, etc.
- Makefile
tutorial (at Indiana University)
- C/C++ at USC
from USC ISDWeb
- Steve's Software Trek
(by Steve Karg) - includes some useful C/C++ source code for string
manipulation, INI file manipulation, etc.
UNIX:
|
|