Priority list = how to study for the midterm
The midterm will cover the lecture, homework, and lab material we have discussed so far. If you are behind -- you have not watched all the lectures videos or tried all the homework problems -- there's no reason to panic, but now is a good moment to start preparing. Keep in mind that the midterm will count toward your final grade only if you do well in it.
Here is a possible priority list for organizing your preparation:
- If you have not watched the pre-recorded videos for lecture 1 and lecture 2 at all, watch them now.
If you have already watched them, even superficially, then go straight to step 2 (*). - If you have not watched the pre-recorded videos for lecture 3 and lecture 4, watch them now. If you have, then review them (= go through the slides, flag the ones whose content you don't remember clearly, and watch the corresponding videos).
- Do homework 2. The midterm always has a problem where some end-systems exchange DNS and HTTP messages, and you are asked to list some of these messages, state what their role is, etc. This problem is typically not hard, you just need to have a super-clear picture of basic DNS and HTTP, as they were described in the lecture videos.
- Do midterm 2019 problem 2, midterm 2018 problem 3, and midterm 2017 problem 2.
- If you have not watched the pre-recorded videos for lecture 5, watch them now. If you have, then review them.
- Do homework 3. The midterm typically has a problem that gives you a Go-back-N or Selective Repeat scenario, and you are asked to say what will happen next, or what happened before, etc. Again, this problem is typically not hard, you just need to take it slow and be careful with the sequence numbers and the ACKs.
- Do midterm 2019 problem 3 and midterm 2017 problem 3.
- If you have not watched lecture 1 and lecture 2 recently, review them.
- Do homework 1. The midterm always has a problem where you are given a communication scenario and you are asked to compute the delays experienced by various packets. One part of this problem is typically on the easy side, i.e., it requires you to correctly apply formulas from Homework 1. Another part of this problem is typically harder, i.e., it requires you apply the principles from Homework 1, but the formulas are different.
- Do midterm 2019 problem 4, midterm 2018, problem 4, and midterm 2017 problem 4.
- Do problem 1 (multiple choice) from each of the past midterm exams. This will help you bring all the material together.
- Look over lab1, lab2, lab3, and lab4, in order.
- Do the problems/questions marked as "lab related" from the past midterm exams.
(*) I was initially proposing to start straight from lectures 3 and 4, because those lectures are more relevant to answering the easy exam questions. However, I was assuming that you have watched lectures 1 and 2 at least once, at least superficially. If you haven't watched them at all, then there are a few things in lectures 3 and 4 that won't make sense.
If you complete all these steps, and you do the homework and exam problems without looking at the solutions, you are perfectly prepared. If you don't have the time to do everything, do as many steps as you can, starting from the top.
A note on lecture 6 (TCP) and labs 5 and 6: There may be a couple of easy questions on them, but they will not be the focus of the midterm. If you have already invested time in them, don't get frustrated: they certainly helped you digest the transport-layer topics covered in lecture 5, which will feature prominently in the midterm.
We hope this help a bit. Comments and questions (on Moodle or Discord) always welcome.