This page contains notes from various lectures I have given to students over the years.

### Mathematical modelling of the internet

This is a set of lectures which I created and gave at UCL. They give an introduction to the probability and mathematical techniques necessary to model communicating computer networks and particularly the internet.

The slides and notes can be found on the modelling networks course page.

There are older copies of this material available.

### Networks II

This course considers the mathematics necessary to study networks, with special reference to the internet and was taught from 2002-2005 at the University of York.

The slides and notes can be found on the networks II course page.

There are older copies of this material available.

### C programming

I taught this course on C programming from 2000-2006 at the University of York. This course has been taught by other lecturers in several universties across the world. While the C programming language has not changed, nowadays I would not recommend many of the tools used in this older material and would not really recommend C as a first language to teach.

Course material to follow.

There are older copies of this material available.

This talk describes FLICK a system for the application-specific middlebox. It consists of three parts:

1) A domain specific language for the middlebox that allows easy development of typical middlebox functions.

2) An abstraction, the task graph, that allows the breaking of middlebox functions into easily parallelisable work units.

3) The system -- this implements the compiled language, handles TCP connections and memory management.

The whole system is comparable in speed to a specialist implementation.