Coursework FAQs

1. How should I go about answering a woolly question like Question 1?

The best and laziest way to answer a woolly question is to turn it into a precise question which you know how to answer. Look for a model which you have come across that you can tweak so that it arguably matches the woolly description, and then give a precise answer to your precise question. According to Goethe,
Mathematicians are like Frenchmen: whatever you say to them they translate into their own language, and immediately it is something completely different.

2. What does it mean, choose a sensible range of parameters?

According to Georg Cantor,
The art of asking the right questions in mathematics is more important than the act of solving them

Read the measurement sections of papers that have been handed out by Dr Karp and myself. These are examples of good researchers presenting a story about a quantitative investigation.

Think of your simulator as a function which maps input parameters to output measurements. What is the shape of that function? If I told you to sketch some arbitrary function f(x,y), you'd start by looking for minimums, maximums, asymptotes, intercepts, and you'd use this information to sketch the curve. You might keep y fixed and plot f(x,y) for a range of x values, or you might do it the other way round, or you might e.g. spot that f actually only depends on the ratio x/y which would free you from having to sketch an entire 3D surface.

Imagine you're describing a film to a friend. You would aim to make your description compelling, i.e. don't just list isolated facts. You would first describe the broad sweep of the film. Then you might compare it to other films that you or your friend have seen, first describing the genre then describing the ways in which this film is distinctive within its genre. Your aim would be that, after listening to your description, your friend can decide for himself/herself whether the film is worth going to see.

You might think of a particular scenario, based on your experience of using TCP so far, and start off with parameter values based on that. TCP is used on links which vary in their capacity by many orders of magnitude, so whatever starting parameter values you pick they're likely to be in use somewhere or other.

3. Is the access link speed A different for each user? What is its distribution?

A is a parameter which is the same for every user. For example, imagine that all users use 56kb/s modems; then you'd set A=56kb/s when running your simulator.

If I had meant that each user had a different value of A, to be looked up from a predefined array, I would have written "Suppose that user i has an access link of capacity Ai". If I meant that A was a random variable, different for each user, to be initialized from a random number generator, I would have written e.g. "Suppose user i has an access link of capacity Ai, where each Ai is a random variable with an Exponential distribution of mean a, and the Ai are independent".

4. What's a confidence interval?

Look at your notes from Section 8.4.2 of the first half of the course. If you do n experiments to measure a quantity x, and your n measurements are X1, X2, ..., Xn, then the procedure is as follows:
  1. calculate the sample mean, μ = (X1 + X2 + ... + Xn)/n.
  2. calculate the sample variance, V = (Σ(Xi-μ)2)/(n-1)
  3. calculate the sample standard deviation, σ = √V
  4. calculate the standard error of the mean, e = σ/√n
  5. the 95% confidence interval for x is then [μ-1.96 e, μ+1.96e].

5. How many measurements should I take?

The more measurements you take, the smaller σ will be, and the tighter your confidence interval will be. For the purposes of this coursework, I don't mind how many you take, as long as you demonstrate that you know what you're doing.

6. In Question 4, for what parameter values should I estimate m?

You need not run exhaustive simulations over a range of values of C, f and A. Just find m for a couple of scenarios that are representative of what you simulated in Question 3.