|
|
|
|
Course Overview
|
|
Required
- CSE 143: for basic understanding of software and general programming skills and experience
- MATH/STAT 390, STAT 391, IND E 315, or CSE 321: some simple probabilistic arguments are
used from time to time.
Generally Useful
- CSE 303: the text uses C as a programming language. Some course programming may be in C;
the default build/run system is Linux.
- CSE 451: concurrency is inherent in networking.
- CSE 326: so are data structures.
- CSE 378: so is the idea that all data is just bits, at some level.
Gravy
- CSE 401: compiling is a key idea in one topic (RPC). Specification vs. implementation is
everywhere.
You must have the required pre-requisites. The other courses listed here are useful, but not
required.
back to top
|
|
This course introduces the basics of networking,
ranging from sending bits over wires to the Web and
distributed computing. We focus on the
internetworking ground between these two extremes,
particularly focusing on the engineering of
the Internet - goals, constraints, solutions, and
experiences. The outcome of this course for you
should be an appreciation of the fundamental challenges
of networking, design strategies of proven value, and
common implementation technologies. Topics will
include: framing, error correction, packet switching,
multi-access (Ethernet), addressing and forwarding
(IP), distance vector and link state routing, queueing
and scheduling, reliable transport, congestion control
(TCP), quality of service, naming (DNS), and security.
back to top
|
|
This course won't:
- make you an expert in managing networks, including your home network.
- turn you into a behemoth protocol programmer.
It will help with both, by making sure you understand the central
issues, engineering trade-offs, and successful approaches that are
being used.
back to top
|
|
There will be four kinds of
assignments given throughout the class:
- Textbook Reading: you will be given reading
assignments from the course textbook associated with each lecture. You
should try to finish the reading before coming to the lecture.
We will be covering a large fraction of the topics in the text. It won't
be easy to catch up if you fall behind. Don't.
- Textbook(-style) questions:
Some assignments may include questions
from the text, occasionally supplemented with similar questions I invent.
These assignments should be
handed in at the end of class on the due date. (Make sure you read
the late policy below.)
- Additional Reading and Analysis: The text
does a great job of covering the key points over a wide breadth of topics.
We'll supplement this by reading key papers about some more narrow aspect of each topic.
As well as providing greater depth on individual topics, the reading taken as a whole
should help you become more sophisticated in undestanding and performing engineering
analyses of problem solutions.
You will hand in a no-more-than 2 page writeup on each reading
- Programming: You don't want to come out of
a networking course having never once written code that sends data across an actual
network. You won't.
The default implementation language is Java. As skeleton code will be provided in it,
it's unlikely that there will be attractive alternatives. If you'd like to use something
else, though, just ask.
The default system for our use is attu.cs.washington.edu .
It's very likely other systems will work for you as well. The only problem we've run into in the
past with some other machines is that the version of Java installed was not sufficiently
up to date.
This is a 4 credit hour course, meaning that it deserves something like
12-16 hours of
your undivided attention per week. Try to reserve hours for the reading and stick to
your schedule, even if some programming assignment that isn't going as well as you expected
(i.e., all of them, for all of us) is coming due shortly.
back to top
|
|
I reserve the
right to "fine tune" this later, but grades will be assigned roughly as follows:
- Homeworks: 50%
- Midterm: 20%
- Final: 30%
back to top
|
|
There will be
one midterm and a final exam for this course:
- Midterm: Wednesday, October 31
- Final : 2:30pm-4:20pm, Thursday December 13, 2007
back to top
|
|
(Many of these policies are taken
verbatim from previous instances of this course.)
|
back to top
|
|