Skip to content
Snippets Groups Projects
ModelsComputation.md 3.47 KiB
Newer Older
  • Learn to ignore specific revisions
  • ---
    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](http://www.imperial.ac.uk/computing), [Imperial College London](http://www.imperial.ac.uk). 
    
    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)
    
    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...
    
    
    [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)