Grading
Computation of the Final Grade
These are the main components of this course:
- Homeworks (mostly weekly), 15%.
- Your scribe assignment, 10%.
- Quiz on background material: 5%.
- One midterm exam, 20%
- A comprehensive final exam, 20%.
- Machine problems + presentation, 30%.
As you can see in the syllabus, the course is divided in two parts:
a first part dealing with existing networking technologies,
a second part dealing with basic algorithms that make those
technologies work. So the mechanics of the course will be different
during these two parts. For the first part, on technologies:
- There is some background material that I will assume known to
you: elementary calculations in probability theory, and elementary
software development skills. To give us (both you and me) a chance
to see how well prepared you are for this task, I am going to do
the following:
- The lecture on Tue 8/30 will be devoted to covering background
material that I expect you to either be already familiar with, or
else be able to acquire on your own, without slowing down the pace
of this class.
- The lecture on Thu 9/01 will be spent on a quiz on this background
material, worth 5% of your final grade.
- Homeworks: (roughly) weekly. Late homework policy:
- 0-24 hours: subtract 10%
- 24-48 hours: subtract 25%
- 48-72 hours: subtract 50%
- after 72 hours: subtract 100%
Now, since I understand that sometimes there are legitimate
reasons that might prevent you from completing a homework on time,
in the computation of your final grade, I will drop the worst homework
for each person. These are the only accomodations I will
make on the subject.
- Shortly after the end of the first part, we will have a midterm exam,
covering everything from the beginning of the semester.
For the second part, on algorithms:
- In this part your workload in terms of homeworks will decrease
significantly (not to zero though), to make room for your project work.
- In the project, once we learn how some basic network functions are
implemented today, you will be asked to implement a network overlay
for transmitting video signals.
- Please note, very important. These are the only tools you can
use in this project:
- The Linux machines in PH329. (Of course you can write and debug
your code anywhere you want -- but you are responsible for having that
code running smoothly by the deadline in the 329 lab.)
- Your programs must be written in C, and must compile using the
gcc compiler. You can use the development tools available for this
environment: make files and the gdb debugger.
- Some subroutines that we will provide to you.
- Your project will involve a (short) final presentation, describing
your system, the methods you employed, and a live demo of everything
working. You will also have to turn in a written project report.
More details on the project will be posted closer to the end of the
first half, as we are still writing code ourselves to make sure that
this part runs smoothly.
Scribe assignment: you will be required to turn in typeset notes of my
lectures. We will discuss the logistics of this in the first lecture.
Academic Integrity
As with all other classes at Cornell, you are expected to maintain a
high level of ethical standards and integrity in this course. This means
that all work you submit must be the result of your own individual effort.
You may discuss homework problems with other students in the class, but
you may not collaborate on the actual writing of the problem sets or
development of solutions. Under no circumstances would it be acceptable
for two or more students to turn in substantially similar answers to a
homework problem, or to have possession of each others' homeworks. It
is your responsibility to protect your work from unauthorized access.
Everyone with whom you discussed the homework set must be cited on the
submitted homeworks. No part of the homework may be copied from or be
based on solution sets on the web - also keep in mind that the solution
sets on the web are often incomplete and incorrect.
Any violations of the academic integrity code will be penalized according
to the Cornell Academic Integrity Policy, and may result in failure in the
course, suspension, or expulsion from the university.