G13CS3 -- Mathematical Aspects of Computing

Quick links:

General Information:

This is a 10-credit module running at two lectures per week. There will be a conventional 2-hour exam, similar in style to that set in previous years. Coursework will follow the usual departmental convention, that if the performance on coursework is better than the mark on the exam then up to one-tenth of the difference will be added to the mark, depending on the proportion attempted. Students offering this module as G13ES1 should attend all lectures, but will be assessed only by coursework [which may differ from that set for G13CS3]. Late coursework will attract the usual penalty of 5% per working day.

Module aims, objectives and transferable skills

Aims: To explore the interface between mathematics and computing, both to show how mathematics underpins the theory of computing and to show how the availability of large-scale computation has refined some concepts of mathematics.

Objectives: By the end of the module, you should understand the inherent limitations of computing and be able to construct simple proofs of uncomputability or infeasibility, and should be able to relate a range of automata to equivalent computers or mathematical constructs.

Transferable skills: The analysis of problems for feasibility and complexity; an appreciation of the computational ability of a wide range of mechanisms; and the use of the Web as a teaching and learning resource.

Outline of the Module

In this module, we explore the relationships between computing and mathematics. What, in principle, can computers do, and what can't they do? How efficiently, or quickly, can they do it? What does it mean for something to be a computer, and what are the simplest possible objects that could be so described? Are some computers inherently more capable than others, not in terms of their hardware speed, but in terms of what calculations they can carry out given enough time? What does it mean for a function, or a number, to be computable?

Reading

There is no real `module book'; books that cover most or all of the material do so from a viewpoint that is much more formal than my taste, and those that I like reading cover only part of the module.

Lectures

I shall mostly be lecturing from [rather sparse] notes on OHP transparencies [dating from the year when all the lectures were in C19, which is useless for writing on the board]. I don't like this style of lecturing, but There Is No Alternative.

There is another source of information [besides the textbooks mentioned above, and any other private reading which you may (and are encouraged to!) do] which you should use in conjunction with lecture notes; this is the Web, and the relevant material comes in two parts. This document is at URL

http://cuboid.me.uk/anw/G13CS3
and will, from time to time, be extended with references to other pages containing useful information. I shall try to make sure that there are pages giving more detailed notes about topics that have caused problems in the past, and I'll let you know as such pages are added. If possible, I'll put up pages containing all the information on the OHP transparencies; but don't hold your breath.

The second part of this resource is the set of pages for the Formal Computation module, G12FCO [obtainable by clicking from my home page, or on the `anchor' in this sentence, or by the obvious change from the above URL]. This is the last year in which G13CS3 will be given, as a result of the new 3/4-year degree structure working its way through the system, and G12FCO is a partial replacement. In fact, the last twelve lectures of that module are concerned with material that is also covered here [and indeed were written from my notes for this module], but in a quite different order. The pages for those lectures comprise quite detailed lecture notes. However, there is quite a lot of material in this module which is not in G12FCO [as you would expect, comparing 20+ 3rd-yr lectures with 12 2nd-yr lectures], and even where there is substantial overlap the focus and the sophistication will not be the same. Nevertheless, you may find this other material useful.

You should not feel that consulting the Web pages is an instant imperative without which you are irretrievably sunk. They are intended to supplement lectures, and, for example, to give extended explanations in detail that would be tedious in lectures. Nor should you feel that you have to rush to C30 and print them off on the LaserWriter. You can read Web pages from any computer in the world as long as it is suitably connected, and any cheap printer should be perfectly adequate, and you are welcome to copy the source of the page and edit it down to just the bits you need and/or to copy it to a file which you can use as you like, or indeed just to browse it on the screen and take your own written notes.

Supplementary Material

[This is where cross-references will appear as the module progresses. Numbers refer to lectures.]
  1. [Nothing to add.]
  2. For a modest discussion of FSMs, see G12FCO, lecture 15.
  3. There is a page of examples of McCulloch-Pitts cells. See Minsky for much, much more.
  4. The relation between FSMs, their powers, the bracket-matching problem, and Turing machines is covered in G12FCO, lecture 16. New: For some working Turing machines see Andrew Hodges' Turing Scrapbook and pages referenced therefrom (your browser needs to be Java-aware). [Andrew Hodges wrote an excellent biography of Turing.]
  5. See G12FCO, lecture 17 for a somewhat stripped down version of this lecture. Minsky, chapters 5, 6, 7 and 8, is a good source for this material; most other books get bogged down in the formal logic.
  6. The end of G12FCO, lecture 17 gives the `Halting Problem' proof; the version in this lecture has better diagrams! See G12FCO, lecture 18 and, as always, Minsky for some other relevant stuff.
  7. G12FCO, lecture 19 is about computability of numbers and functions; largely `borrowed' from Minsky.
  8. G12FCO, lecture 20 is about minimalist computers, and has some diagrams. We go just a little further in this module.
  9. I have no good reference for the cellular automata stuff. I'll write a web page about it `soon'; do not hold your breath!
  10. Likewise!
  11. Here we more-or-less rejoin G12FCO, at about lecture 9. Some of the earlier G12FCO lectures may also prove slightly helpful, but in this module we are not doing algorithms in any systematic way. Of the mentioned texts, Papadimitriou and Garey and Johnson do some of this stuff but much more formally; Harel would be a better bet for an overview.
  12. Non-deterministic TMs and oracles are in G12FCO, lecture 10.
  13. For transformations, see G12FCO, lecture 11. There are different possible transformation rules, which I'm skating over rather quickly here. Papadimitriou covers this in great detail. At the moment, we don't know whether these different regimes are `really' different, so it's largely a matter of convenience.
  14. Cook's Theorem is sketched in G12FCO, lecture 11. This is a bit of an `Ouch!' topic. Papadimitriou has a fairly elegant proof, but it's a house of cards, and it's hard to understand his proof without going through the whole of his first eight chapters in some detail. Garey and Johnson give a rather brutal proof; if you first accept that languages and programs are essentially the same thing, and then don't mind their notation, then their proof is messy but straightforward. In this module, we take a somewhat intermediate position; fleshed out from the one in G12FCO, but sketched from G&J. The idea is much more important than the detail.
  15. A few simple NP-complete problems are shown [with pretty pictures!] in G12FCO, lecture 12. We'll do a few more in this module, based mainly on Garey and Johnson but with occasional nods to Papadimitriou [which has some more modern and neater proofs]. [Well, I was going to, but it was getting boring! -- ANW]
  16. This material is sketched in G12FCO, lecture 13. Extra waffle in this module!
  17. Also partly based on material somewhat covered in G12FCO, lecture 13. Garey and Johnson is fairly opaque on this material, but it is covered in Harel and in Papadimitriou.
  18. Pass.
  19. Cryptography is well covered in Papadimitriou; G12FCO, lecture 14 is based on my lecture notes.
  20. Last lecture; continuation of the previous one!

Solutions to Exercises 1, Exercises 2, and Exercises 3 are now available.

ANW

top of page


E-mail: [my initials] [at] cuboid.me.uk, home page: http://cuboid.me.uk/anw.

Copyright © Dr A. N. Walker, 1997, 2016.