CSci4211 Syllabus
Syllabus for CSci4211 (Spring 2009)
Instructor
Prof. Jon Weissman
Email: jon at cs_umn_edu
Phone:
(612) 626-0044
Offices: 4-225F EE/CS Bldg
Office Hours: Tu/Th 2-3pm (or by appointment, or when door is open)
Time and Location
12:45 P.M. - 02:00 P.M. , Tu,Th (01/20/2009 -
05/08/2009) , AkerH 319
Teaching Assistant
Jinoh Kim (jinohkim at cs_umn_edu)
Office Hours: Mon 2-3pm and Wed 4-5pm (2-209 EE/CS Bldg)
Description
Welcome to
CSci 4211! This course is concerned with the principles and concepts
of computer networks. We will cover design, protocol, and
implementation issues of networks at the local- and Internet-scale. We
will follow the top-down approach as in the book, covering layers and
protocols from the higher levels down to the lower physical
levels. Topics include: layered network architecture, applications,
network programming (i.e. sockets), transport, physical media, data
link protocols, local area networks, and network routing. An
additional topic area may be chosen from wireless networks, security,
or advanced network applications. Examples will be drawn primarily
from the Internet (e.g., TCP, UDP, and IP) protocol suite. This course
is targeted primarily to undergraduate students. We will use Java to
illustrate network programming concepts. Java is also needed for the
labs (C/C++ may be allowed). Comfort with Unix is assumed as 4061 is
a prerequisite. Basic OS concepts are assumed, e.g. file systems,
threading, IPC, synchronization, etc.
Class format
The class
will be conducted in a lecture format with Q&A discussion
elements. The week's reading is essential to keeping up as is coming
to class. The course notes won't mean much in isolation. Expect to
spend around 10-12 hours per week in lecture, doing homeworks/labs,
and preparing for exams. The instructor would like to acknowledge the
use of adapted lecture materials made available by the K&R book authors.
Textbooks
- Required Readings: "Computer
Networking: A Top-Down Approach", by James Kurose and Keith Ross,
Addison-Wesley, Fourth edition (K&R).
- Recommended: Mastering Networks. An Internet Lab Manual. by Jorg Liebeherr and Magda El Zarki, Addison Wesley, 2003 (for students who want to learn more about hands-on networking)
Course Work and
Grading
- Grading:
- Four written assignments: 20%, 5% each
- Two projects: 1st: 10 %; 2nd: 15%
- Mid-Term Exam: 25% (In-class closed book)
- Final Exam: 30% (In-class open book)
.
Grading is absolute. No curve.
The grading system for this course is A-F.
The scale will be as follows:
[93 --100] A
[90 -- 93) A-
[87 -- 90) B+
[83 -- 87) B
[80 -- 83) B-
[75 -- 80) C+
[70 -- 75) C
[65 -- 70) C-
[60 -- 65) D+
[50 -- 60) D
[00 -- 50) F
- Homework Assignments: There will be four homework
assignments. These will test your knowledge of networking, both
conceptual and practical. Coming to class is essential for good
homework performance. For homeworks, you will have 1.5-2 weeks in
general. Homeworks are to be done individually.
Each assignment must be submitted on-line using the
submit utility. We do not accept hard copies (in order to save
trees!). The online submission is due by 11am on the
assignment due date. Please see the class schedule and important for
the timing of assignments, projects, exams, etc. The feedback (e.g.,
corrections and comments) on the assignment will be delivered through
email and grades can be checked online through Grits.
Late submission policy: One day late 10% (by 11:00 am next day). See
more details on Late policy below.
There will be four
assignments.
- Projects:
There will be two
lab programming assignments. The purpose of the labs is to give you
hands-on experience with network applications and a deeper
understanding of how network protocols work. They will be due by
11am on the due date. The first one is to be done individually and
the second is a team project (2-3 members). You will have 3-4 weeks to
complete them using the ITLab Unix machines. Projects will be
submitted electronically. You will get tired of me shouting "START
EARLY" on the labs, but it is in your best interest to do so because
the policy on late work will be tough: you may submit ONE project late
during the semester with a 10% point reduction; late work must be
submitted by There will be four assignments. Each assignment must be
submitted on-line using the submit utility. We do not accept hard
copies (in order to save trees!). Please see the class schedule
and important for the timing of assignments, projects, exams, etc.
The feedback (e.g., corrections and comments) on the assignment will
be delivered through email and grades can be checked online through
Grits.
Late submission policy: One day late 10% (by 11 am next day).
Of course, unusual circumstances will be considered
including illness, personal problems, religious reasons, etc. (note: I
didn't include vacations, job interviews). For group projects, all
members of the team will receive the same lab grade.
Submission protocol: For online submission, you will submit a tar'ed
directory that includes your code, header files (if any), your
build/run script(s), makefiles, and any necessary test data that
was not supplied as part of the assignment. Names of the group members
and the instructions for building and running your code must be in an
additional text file called readme.txt. Each online submission is
timestamped with the time of submission. Multiple submissions result
in only the last timestamp being retained. Therefore, to avoid losing
points, you must make sure you are not uploading your assignment after
the due date.
We will make every attempt to email back the results of the
assignments one week after they are handed in. If you have questions
regarding the grading of your homework assignments, labs or exams, you
must come to see either the instructor or the TA within two weeks
after the date your homework, projects or exams have been returned to
you. If you cannot see us within two weeks, you need to email us
within two weeks and make an appointment. Unless we hear from you, no
changes will be made after two weeks. If you believe that your
homework, projects or exams have been lost, please notify us as soon
as possible (within two weeks). We are not responsible for missing
homework, projects or exams two weeks after they have been returned.
- Exams:
The purpose of the 2 exams is for you to demonstrate that you
understand the key networking concepts and issues.
Exams are necessary to determine how you are
really doing in the class. Exams also give me global feedback about
the course in general, feedback that I have often used to make
"mid-course" corrections to improve the class as we go along.
If you must miss an
exam, send me e-mail ASAP, and you must make every effort to notify me
PRIOR to the exam. A makeup is not guaranteed. Acceptable excuses are
usually limited to serious personal problems or injury, religious
needs, or substantial participation in University sanctioned student
events. The exam dates will be announced on the website and in class.
There will be a mid-term in-class exams and a comprehensive final
exam. The mid-term exam will cover the material for the previous 7-8
weeks. The final will focus on the newer material, but can include earlier material.
There will be one mid-term and one final exam.
Communication
Information about the course will be communicated in class and via
this website. This includes the schedule, dates, additional reference
materials, announcements, and information about assignments. For
direct communication, the TA and instructor have office hours to assist you.
There is also a course bulletin-board (forum) that can be used for
anonymous posting of questions or information, NOT solutions. Please
use the forum for any questions you may have. The TA, or (hopefully)
other students will post answers (as appropriate). If the question is
inappropriate for the forum, e-mail the TA (he will forward e-mail to
me if necessary). Note: I do not read the forum often, but the TA will
keep me appraised of any issues. If you need to speak with me about an
urgent matter, come to office hours or email. Note: we reserve the
right to moderate this forum if it is used inappropriately. The TA is
the best "first line of defense" for questions and lab programming
help.
Collaboration
For questions concering the labs or homework, you can
talk to the TA or myself. Limit discussion with your classmates or the
access the forum to get information about the meaning of lab or homework
concepts, NOT elements of a solution. For the second lab,
collaboration within your team is of course expected. In general,
cheating on the labs, homeworks, or exams will be dealt with swiftly
and severely in accordance with
University policies.
Disability Statement:
Any student with a documented disability (e.g., physical, learning,
psychiatric, vision, hearing, etc.) who needs to arrange reasonable
accommodations must contact the instructor and Disability Services at
the beginning of the semester. All discussions will remain
confidential. For further information contact the University of
Minnesota Disability Services website at http://ds.umn.edu/ or call
612/626-1333.
|