Models of computation coursework 1