I taught SEMQ72, SEM230 and SEM331 in the 1997-98 academic year.
SEMQ72: If you click here you can see a summary of what this course is about. All the twelve exercise sheets for continuous assessment for the 1997/98 session can be found in the Library, ask Ceiwein the Librarian. She also has a handout with the summary of the theoretical contents of this course.
SEM230: The first half of this course coincides with SEM331, we investigate type systems for programming languages. The second half of the course deals with semantics of programming languages. (Some of) The slides for the (first half of the) course are available as handouts, the introduction, the simply typed lambda-calculus section and the ml-types section. These are still being written, so take nothing for granted and ask questions. Hopefully the rest will be available soon...
SEM331: If you click here you can see a very brief description of this course with some references. You can also get a copy of Cardelli's chapter on Type Systems as well as a copy of Andy Pitts new notes on types.
I also gave a post-graduate course, Categorical Proof Theory and Linear Logic in the Autumn 1996 term. Here are (very preliminary!) notes for the course.