Understanding Computation: The meaning of Programs


Details
https://secure.meetupstatic.com/photos/event/a/4/3/b/600_459162043.jpeg
Topic
We'll be studying the book Understanding Computation: From Simple Machines to Impossible Programs (https://www.amazon.co.uk/Understanding-Computation-Machines-Impossible-Programs/dp/1449329276) by Tom Stuart (https://twitter.com/tomstuart).
We'll learn important ideas from theoretical computer science, and along the way we'll get to build a compiler, a Turing machine, a simple type system, implement the lambda calculus and much more.
All this will be in Ruby, but knowing ruby is not a requirement to taking part and going through this book. You should be fine if you have experience in a modern programming language.
This week
This week, we will go through the second chapter of the book, which is about how we can define the meaning of programs. This will involve defining the meaning to a simple programming language in multiple ways to compare how programs get their meaning.
Format
This is a hands-on, collaborative study group. We will be learning and solving problems together and writing code.
At the end of the evening, solutions can be posted as pull requests against this GitHub repository (https://github.com/StudyCodeOrg/understanding-computation).
Schedule
This is a rough guide to the evening:
18:30 - Official start. Introductions, announcements and description of the problem
19:00 - First pairing session
19:40 - Pizza break and discussion
20:10 - Second pairing session
20:50 - Discussion: what did you find interesting, surprising, difficult, etc.
21:00 - Close. Optional further networking/chat, etc
Preparation
As long as you know a modern programming language you'll be fine.
Equipment
Please bring a laptop with Ruby installed.
Where to find us
We'll be at BrewDog Sheffield. The place does good pizza, including vegetarian and vegan options, as well as a wide and ever changing collection of beers. You can find us there with laptops and the Understanding Computation book.
Helpful resources
• Example code from the book (https://github.com/tomstuart/computationbook)
• Discussion about the book (https://www.youtube.com/watch?v=bjRq3t1OGXg)
• Table of Contents (http://computationbook.com/contents)
• CS Book Club recordings of discussions (http://www.csbookclub.com/understanding-computation/)

Understanding Computation: The meaning of Programs