diff --git a/teaching/ModelsComputation.md b/teaching/ModelsComputation.md new file mode 100644 index 0000000000000000000000000000000000000000..e4cd80c4c59884f3d892de249f9e6bda608d56b6 --- /dev/null +++ b/teaching/ModelsComputation.md @@ -0,0 +1,60 @@ +--- +title: Models of Computation +project_id: sl +menu: true +parent_menu: Teaching +menu_order: 5 +--- + +This is a 2nd year MEng compulsory course at the Department of Computing, Imperial College London. +The course focuses on teaching students the fundamental skills involved in dealing with abstract systems and constructing proofs, through both teaching and exercises. + + +#### Description of the Course +This course provides a whirlwind tour of some of the key concepts in theoretical computer science. +In particular, we will study formal descriptions (models) of computational behaviour. +The course intends to make sure that all students establish a stronger foundation in the more theoretical side of Computer Science, thus better preparing them for the courses that will follow in the fourth year. + +#### Course Outline + +The course comprises two hours a week for seven weeks. + +#### General Information +Time: Wednesdays: 9am - 11am (Tutorial from 10am) +Thursdays: 12 - 1pm +Coursework Schedule: Coursework 1: published 4th Nov / deadline 20th Nov 2pm +Coursework 2: published 2nd Dec / deadline 14th Dec 2pm +Tutorials: Tutorial exercises will be posted online before the tutorial each week, printed copies will also be available. +Tutorial solutions will be published here before the next week's tutorial. + +Recommended Reading: +H.R. Nielson and F. Nielson (1999). Semantics with Applications: A Formal Introduction, originally published in 1992 by John Wiley and Sons. +[Revised edition] (http://www.doc.ic.ac.uk/~pg/Computation/book.pdf) + +G. Winskel (1993). The Formal Semantics of Programming Languages, MIT Press. +This is an excellent introduction to both the operational and denotational semantics of programming languages. + +M. Hennessy (1990). The Semantics of Programming Languages, Wiley. +The book is subtitled 'An Elementary Introduction using Structural Operational Semantics', and provides a leisurely introduction to some of the topics in this course. +[Revised edition](https://www.scss.tcd.ie/Matthew.Hennessy/slexternal/resources/sembookWiley.pdf) + +J.E. Hopcroft, R. Motwani and J.D. Ullman (2001). Introduction to Automata Theory, Languages and Computation, 2nd edition, Addison-Wesley. + +J.R. Hindley and J.P. Seldin (2008). Lambda Calculus and Combinators, an Introduction, 2nd edition, Cambridge University Press. + +F. Cardone and J.R. Hindley (2006). [History of Lambda-calculus and Combinatory Logic.](http://www.users.waitrose.com/~hindley/SomePapers_PDFs/2006CarHin,HistlamRp.pdf) + +N,J. Cutland (1980). Computability. An Introduction to Recursive Function Theory, Cambridge University Press. + +M.D. Davis, R. Sigal and E.J. Wyuker. (1994). Computability, Complexity and Languages, 2nd edition, Academic Press. + +T.A. Sudkamp (1995). Languages and Machines, 2nd edition, Addison-Wesley. + +Other Recommendations: [Logicomix](http://www.logicomix.com/en/): the graphic novel Logicomix was inspired by the epic story of the quest for the Foundations of Mathematics... +http://www.logicomix.com/en/ + +[Turing](http://www.amazon.com/Turing-Novel-Computation-Christos-Papadimitriou/dp/0262162180)(A Novel about Computation), Christos Papadimitriou, Berkeley. + +[Scooping the Loop Snooper](http://www.cl.cam.ac.uk/teaching/0910/CompTheory/scooping.pdf)(© Mathematical Association of America), a poetic proof of the undecidability of the halting problem in the style of Dr Seuss by Geoffrey K. Pullum. + +A real [Turing machine.](http://robotzeitgeist.com/2010/03/model-turing-machine.html)