CSCI 3171:
Network Computing

Winter 2004

Instructor: Evangelos Milios
email: prof3171

Times & Days MWF 1135-1225, CS Auditorium Office Hours

Calendar Description -- Objectives -- Prerequisites -- Lecture topics, overheads, readings and assignments (per week) -- Textbook-- Tests -- Grading Scheme


Calendar Description

This class gives students a foundation in computer networks. It presents a top-down view of the layered architectural elements of communication systems, focusing on the Internet and TCP/IP. Topics include client/server systems, packet switching, protocol stacks, queuing theory, application protocols, socket programming, remote service calls, reliable transport, UDP, TCP, and security.

Objectives

Provide a basic understanding of how TCP/IP networks operate at the application and transport layers; introduce remote service calls; introduce Queuing Theory.

Prerequisites:
Grade of C- or better in CSCI 2110 (computer science III), CSCI 2132 (software development) and STAT 2060 (statistics). This also implies a grade of C- or better in first year CS courses. (The obsolete CSCI 2111 can be counted in place of CSCI 2132.)
Successors: CSCI 417x and other xx7x courses
Exclusions: Formal exclusions are not listed in the calendar. However, students who have taken 4171 or 4172 already will not be permitted to register for CSCI 3171. In other words, 3171 is for third year CS students in the new currciulum.

Textbook:
James Kurose & Keith Ross: Computer Networking: A Top-Down Approach Featuring the Internet, 2/edition, Addison Wesley, 2002, ISBN: 0-201-97699-4.
Companion website
A list of textbook misprints
You can obtain the rights to use the online version of the first edition for six months for a fee of $25 US: visit the textbook web site for more information. The changes between the two editions are not too extensive; however, all assignments and web page notices will be given in terms of the second edition.
Supplementary Material: Kurose and Ross does not deal with Remote Service Calls, a topic which is on our agenda. Supplementary material on this topic will be made available.

Computer Usage: You will automatically be given user accounts on two systems: torch.cs.dal.ca and the Novell file server skywalker. To discover your user name and password, telnet to torch using username discover and password query, where you will be prompted for your Banner ID (starting with a capital B). (However, if you register late, see the Help Desk on the 100 level in the Computer Science building.)

Links
Data communications
Internet standards documents (RFCs, etc.)
Generic Reference Data
Hyperstat: a probability and statistics reference on line

Survival in this course requires some familiarity with UNIX, normally provided by CSCI 2132 (do the UNIX tutorial, for a review). You may be required to use an editor (e.g. vi or emacs). Do the gnuemacs tutorials 0 1 2 and consult the GNU emacs Manual or the vi tutorial . Of the two editors, gnuemacs is recommended.

Java Tutorial (from Sun)
Java online textbook (by David Eck)
Java API
Java code samples (from Sun)
Shell script tutorial 1 2

Tests
Evening quizzes are 1.5-hour written tests. There will be two quizzes scheduled for the evenings (19:00-20:30). Be sure to keep those evenings free. Note that there are no alternate quiz dates; in case of illness the weight (see below) from the missed quiz is shifted to the other tests.
The final examination is a three-hour written test covering the entire term's work. It is scheduled by the Registrar in the period April 12-26. You are requested not to plan any travel during that period before the final exam date has been announced. No early examinations will be given. No makeup examinations will be given except for health reasons.
Testing may include essay questions.

All pieces of work (assignment and exam questions) will be marked on the letter grade scale, and averaged using the GPA equivalent. The meaning of the grades and their GPA equivalent is that of the Academic Regulations (section 17.1).
Model solutions will be posted, instead of detailed comments on individual assignments. If you have questions about your grades, you can see the TA during office hours.
The grading of tests and assignments will reflect not only the content of your answers but also the quality of your writing.

Tests are "closed-book". Crib sheets are allowed. For Quiz1, Quiz2 and the Final examination you may use, respectively, one, two and three handwritten 8.5x11'' pages (one side only) of your own notes.

There is no supplementary examination in this course. If you do not obtain a satisfactory grade you will have to repeat the course.

Grading Scheme:

Assignments: 10% (2% x 5)
Evening quizzes (2): 40% (20% x 2)
Final exam: 50% (3 hours, during final exam period)

Late assignments or missed tests are only acceptable when accompanied by valid written documentation about the reason of the delay (e.g. illness of student, death in the family). Deferred deadline for submitting the assignment must be requested on the first day after the reason for the delay ceases to exist. Doctor's note must clearly state the dates of illness.

Cover pages of assignments: They should be typed with the following information in the upper left corner of the page, with the rest of the page clear:
CSCI 3171
Assignment # ______, Due date _____________
Last Name: ____________
First Name: ____________
Banner no: _____________
CS login id: ____________

Cover pages not conforming to the above will result in a letter grade reduction on the assignment grade.

Please familiarize yourself with the Faculty's Plagiarism Policy, guidelines and resources. Every suspected case of plagiarism will be referred to the Senate Discipline committee, and the standard penalty for a first offence is failure in the course.