CSC458/2209 - Assignments - Problem Sets
For problem sets 1 and 2, we will grade each question in a 0-2 scale. You will get a 0 if nothing is turned in; 1 when you have some understanding of the problem; and 2 when you demonstrate a strong understanding of the problem. Keep your answers concise, and clear. Note the late submission policy described in the course information sheet.
Problem Set # 1
- 10% of the overall mark.
- Due date: Oct 13, 9:00PM EST
- Submission guidelines:
- The assignment should be submitted electronically (on MarkUs) as a single file.
- The filename must be ps1.pdf. Anything other than that will not be accepted by the system.
- Note that, if you resubmit your assignment, the previous file will be overwritten.
- Textbook problems (5th edition):
- Chapter 1: 3,11, 19, 20
- Chapter 2: 6, 40, 42
- Chapter 3: 4, 21
Problem Set # 2
- 10% of the overall mark.
- Due date: Nov 25, 09:00PM EST
- Submission guidelines:
- The assignment should be submitted electronically (on MarkUs) as a single file.
- The filename must be ps2.pdf. Anything other than that will not be accepted by the system.
- Note that, if you resubmit your assignment, the previous file will be overwritten.
- Textbook problems (5th edition):
- Chapter 3: 55, 64
- Chapter 4: 9
- Chapter 5: 12, 25, 39
- Chapter 6: 5, 17
CSC458/2209 - Assignments - Programming Assignments
Programming Assignment 1
For this assignment, we will use MiniNet to create a virtual network to build a simple router.
- Assignment description.
- 15% of the overall mark.
- Due date:
Oct 20Oct 23, 9:00PM EST. - When you submit your assignment on MarkUs, we will run a subset of marking script tests and give you feedback. Starting from Oct 10th, you can submit up to 8 times each day.
- Make sure to check out guidelines for programming assignments before starting.
- You can find examples of good and bad programming practices here.
- This assignment is to be done in groups of two or three students. Feel free to use Piazza to find teammates.
- You will need to know (or learn!) socket programming for this assignment. This is covered in tutorial # 1. You can find some useful links about socket programming here.
- Submission guidelines: The assignment should be tested on teaching lab machines and submitted electronically. Please compress and submit the whole contents of the router folder as a single file on MarkUs as a single file.
- MarkUs
- Use your teaching lab credentials to log in.
- The file name must be pa1.tar.gz.
- Note that, if you resubmit your assignment, the previous file will be overwritten.
- Please see the deliverables section in the Programming Assignment Guidelines for information on what should be included in the submission.
Programming Assignment 2
For this assignment, we will explore the impact of router buffer sizes on network performance.
- Assignment description.
- 15% of the overall mark.
- Due date: Dec 2, 9:00PM EST.
- Please note that the assignment is to be completed individually.
- Submission guidelines: Please compress and submit the whole contents of the router folder as a single file on MarkUs as a single file.
- MarkUs
- Use your teaching lab credentials to login.
- The file name must be pa2.tar.gz.
- Please cd into your assignment folder and tar the whole folder into a tar.gz file.
- Then, name your code as pa2.tar.gz and upload to your markus repository.
- No other format or structure will be accepted.
- Do not submit multiple tar.gz files into your repository.
- Note that, if you resubmit your assignment, the previous file will be overwritten.
- Please see the description page for details on what you need to submit.
References and Resources
"Unix Network Programming" by Stevens is the reference of choice for programming the Unix sockets API. There will also be a review session before the first assignment is due which will provide an introduction to socket programming.
"TCP/IP Volume 1: The Protocols", also by Stevens, is an excellent reference to the specification and common implementations of TCP/IP and some of the related protocols. Although this book is not a required course text, it is an excellent reference. Some of the assignments refer to chapters in this book for additional reading.