308-435B: Basics of Computer Networks
McGill University, Winter 2003
Note: Assignment 4 will not be returned before the exam. For studying, here are solution descriptions for assignments 3 and 4.
Note: By popular demand and for your studying pleasure, here is an old midterm, and here are the corresponding solutions. Note that this old midterm is not very representative: it covers only the first half of the course, whereas the exam will cover the entire course.
Monday, Wednesday, Friday 14:35pm - 15:25pm
ARTS 270
Clark Verbrugge
Office: McConnell, room 230
Office hours: Monday 12:30-14:00, Wednesday 9:00-10:30, or by appointment
Phone: 398-2411
Email: clump@cs.mcgill.ca
Once term has begun, please send course-related emails to cs435@cs.mcgill.ca. This will allow the TAs to respond as well.
Anatole Le
Office: McConnell, room 229
Office hours: Monday 9:00-10:00 and 11:30-12:30, Wednesday 11:30-12:30, or by appointment
Email: ale44@cs.mcgill.ca
COMP-310 (Computer Systems and Organization).
Ability to program in C or Java will be required.
Students registering without the pre-requisite may find the course removed from their transcript
by the Faculty of Science.
Engineering students note that COMP-435 is
restricted to Computer Science students; engineers interested in a
computer networking course should take COMP-535.
Required text: Computer Networks, 4th Edition. by
Andrew S. Tanenbaum. Readings from this book will be essential
to the course.
Supplementary text: Pocket Guide to TCP/IP Socket Programming in C by
Michael J. Donahoo and Kenneth L. Calvert or
TCP/IP Sockets in Java: Practical Guide for Programmers by
Kenneth L. Calvert and Michael J. Donahoo.
These are optional texts covering socket programming; select the text
corresponding to the programming language you intend to use (C or Java).
Texts are available in the bookstore, and on reserve in the
PSE Library.
In this course students will learn about the basic networking
algorithms and protocols on which modern networks are based. This
covers networks from low level protocol design up to TCP/IP. Upon
completion of the course, students should have a good understanding of
the main networking problems and solution algorithms.
Note: There will be some socket programming required
in assignments. A priori knowledge of socket programming is not
required or assumed, but only high-level aspects of socket programming
will be covered in class. Students will be expected to learn how to
use the actual socket APIs from the supplementary texts, tutorial
documents, and supplied template code.
A detailed syllabus in .pdf form is
here.
4 Assignments: 40%
Midterm: 15%
Exam: 45%
Assignment descriptions and information will be posted here as term progresses.