Index of John Sturdy's Teaching pages
This page is mostly out of date; I will update it when I have the time. In brief: I am now a university researcher, and have given a lecture course on Operating Systems, at the University of Limerick.
By arrangement with my employer at the time, I used to do some supervision of Cambridge University CS students.
I've written this page in the hope that it will be
On-line resources made available by lecturers
A dictionary of Computer Science
There is an on-line reference of CS terms in FOLDOC -- the Free On-Line Dictionary Of Computing. This is made from contributions from over 400 people on the net, so its quality could be variable, although the entries I've look at seem fine.
This teaching forms part of the network of traditional links between the lab and the surrounding technical companies. Although in many departments and faculties, opportunities to supervise are all rapidly filled by the staff and graduate students of the department, the Computer Lab is usually short of supervisors from within, and arranges for supervisions to be given by people from the many computing companies in the Cambridge area.
If you have a Cambridge CS degree, and are interested in doing some supervision, do get in touch with someone at the lab; if you don't know who to contact there, mail me and I'll find someone. I find teaching very rewarding, particularly when I have taken someone from not understanding something important in the course to understanding it. (By the way, it is paid, not voluntary, work.) See also Frank King's notes on supervising.
General notes on being a student
I've prepared a separate page of general advice about being a student.
An overview of the structure of the subject
I think it is important to see how the different areas of a subject fit together, and encourage students to develop an awareness of the subject as a whole. I have my own view (which is, of course, right) on how Computer Science is structured; here is a summary, as best I can express it in a few minutes of HTML-writing.
An area of teaching that has often confused students is programming languages and lambda calculus, and to get round this I started to teach people Lisp. I've now distilled this teaching into written form, both as heavily-commented elisp files that you can download and learn-by-doing on, and as marked-up WWW documents. If you download the plain elisp files and try running them, you may find show-eval.el useful for displaying the results.
For teaching lambda calculus, and some other areas of CS, I'm
considering going over to the Scheme dialect
of Lisp, and am starting to recommend the
book Structure and Interpretation of Computer Programs
(SICP for short) by Abelson and Sussman, MIT Press 1985,
I have started to write a page about revision although for now it is fairly succinct!
|Contact me||Last modified: Fri Aug 30 17:16:31 1996|