Welcome to Spivey's Corner
This Wiki provides course materials and a discussion forum for the lecture courses that I give to Computer Science students in Oxford.
Some pages will contain course material, and I will protect those pages from editing, so that everyone can see the material as I presented it. But each protected page will have an associated discussion page, and you are welcome to add comments there, or to make additions to any of the other pages. To make edits, you will need to create an account for yourself, but anyone with an Oxford email address is welcome to do so.
Some older stuff:
- An Oberon-based edition (the only worthwhile one) of a course on Imperative Programming.
- A Scala-based edition of a course on Object-Oriented Programming.
- Notes for a course on Category Theory for Functional Programming.
- A course on Programming Languages based on interpreters written in Haskell.
- A course on elementary design of Digital Hardware.
- A course on Operating Systems.
And one piece of newer stuff:
- A course on Digital Systems (under construction).
- A separate page has a list of projects that I'd currently like to supervise.
- Another page has some older project ideas. Some of these have been done and the results are publicly available; others don't seem so relevant now as when I first suggested them.
- Z Reference Manual.
- An introduction to logic programming through Prolog.
- Fragments towards a Programming languages book.
- Faster Coroutine Pipelines, accepted for ICFP'17.
- Bringing declarative programing to Life, Computing At School conference, Birmingham, 18th June 2016.
- The Fuzz typechecker for Z.
- The Oxford Oberon-2 compiler.
- Thunder, a portable JIT library.
- A convenient page gives access (for registered users) to recent Oxford exam papers in Computer Science, with links to an archive of older papers.
Pages for tutors
- Notes about experiments with hardware hacking.
- A rag-bag of mixed amusements and diversions.
- A page of random links to curiosa of the internet.
- Various tutorial notes written about specific problems.
- Some tech tips of variable accuracy.
About Spivey's Corner
In view of the name, I should make it clear that this Wiki bears no relationship to the community of Spivey's Corner, NC, despite the fact that the latter is home to the U.S. National Hollerin' Contest. To paraphrase the Wikipedia article, this Wiki ...
was inaugurated in order to revive the almost-lost art of "lecturin'", a sophisticated vocal tradition that served as a means of short-distance communication between individuals as well as an amusing form of entertainment, before the widespread adoption of PowerPoint.
Those more interested in hollerin' than in lecturin' may prefer to watch a short documentary about it.
When viewed on a webfont-enabled browser, the running text on these pages is set in Roboto Sans, with
Roboto Mono for computer code, and Roboto Slab for titles.
- Some people have skeptically alleged that Spivey's Corner is no more than a Photoshop-enhanced figment of my imagination. A Google map proves otherwise.