McGill University
School of Computer Science

Computer Science 308-535B
Computer Networks

List of assignments: This page contains the assignments for the semester, along with the dates on which they are due. The due dates are strict; it is not possible to hand in assignments late. The assignments are to be done only when due dates are attached to them. Please be careful to only do problems which are given specific dates on which they are due.

For the programming assignments, you are asked to use the handin facility for the executable. To use this facility, you should type the following:
handin cs535
to obtain a list of the available subdirectories handin cs535 ass01 file1 file2
to hand in file 1 and file 2 for subdirectory 01.
handin cs535 ass1
to check whether the files were, in fact, received.
The handin facility should be accessed from the server nova!!!
All programs should be able to compile and run properly in willy
Makefile must be included
A Readme file must be included with brief introduction of the program and detail instructions on how to run the program
Program running result must be included in Readme file
Submit a blank file which is named as student ID and handin with all other files.

In chapter 1, you are to do 29. This problem is intended to be an introduction to socket programming. You may first read the reference socket article for some background on socket programming. The text on sale in the bookstore is an excellent introduction to socket progamming. A standard reference for socket programming is the text UNIX Network Programming:Networking API:vol.1, by Stevens. You might wish to obtain this text, as it is a valuable reference. To compile your code, use:
gcc prog.c -lnsl -lsocket -lresolv for SUN machines (e.g. Willy)
gcc prog.c for Linux/BSD machines
The due date is Friday, September 20. Use the hand-in facility for your source code, and put a write up of the assignment in the drop-off box for cs535 in front of 104N, 105N and 106N. The write up for the assignment should contain a flow chart for the logic of the program along with a description of relevant modules in the program. The source listing should be included and it should have copious comments. Yes, I do mean copious. Otherwise the graders will become cranky, and so will I.

In chapter 2, you are to do 18,36,49. This is due on Friday, October 4.

In chapter 3, you are to do 38,16,30,32. This is due on Friday, October 11.

In chapter 4, you are to do 8,20,23,25. This is due on Friday, October 25.

In chapter 5, you are to do 12,20,23,44. This is due on Friday, November 22.

In chapter 6, you are to do 15,30, 25. This is due on Friday, November 29.