Last 10 minutes of class on Wednesday, September 9, 2026.
Everyone takes the exam at the same time.
Language and computation, theories of computer science.
You will take the exam on paper. There is 10 minute time limit, or 15 minutes for those with time-and-a-half accommodations.
You may bring one sheet of paper with notes written on both sides.
Do each of the following to maximize your preparation:
Were you able to check off every box?
The learning objectives for the course up to this point in time include you having developed a familiarity with, and an ability to discuss:
The fact that active recall is better for acquiring long-term knowledge does not mean that outlines and concept maps are not useful. Learners should use multiple techniques—think “both and” rather than “either or.”
Language and Computation
Greetings in several human languages
What machines can and cannot do
Definitions of foundational terms
Information
Computation
Automation
Why language is important in computer science
Information
Encoded with symbols
Transmitted through a channel
Decoded by a receiver
Unicode
Importance of Shannon's paper
Language
The three views
Formal, mathematical, precise
Human, biological, historical, social, cultural, messy
LLMs, statistical, probabilistic, pattern-based
Computation
Pop Culture
History
Ancient times: tally marks
Numerals
Early recipes
Early calculating machines
Three Schools
Logicism
Formalism
Intuitionism
Hilbert's program
Gödel's incompleteness theorems
Formalization of computation
Church's lambda calculus
Turing's machine model
Gödel's recursive functions
Impact of Turing's paper
Formalization of effictive computation with a machine model
Evidence that the machine model matches intuitive notions of computation
Universality
Limits of what is computable
Electronic computing machines
What PLs try to do
Language implementation ideas
Human-centric computing
Modern trends
Themes
Philosophical connections
Theories of Computation, The Basics
What is a theory?
Organized body of knowledge with explanatory and predictive power
Why study theory?
To have a vocabulary for communication
To reason from more fundamental and precise principles
To predict and generate new knowledge
To not flail and guess and have our thinking stuck in a box
Big questions in computer science
What is computation?
What can and cannot be known through computation?
What can and cannot be computed?
What can and cannot be efficiently computed?
Language Theory
Definition: how computations are expressed
Symbols
Alphabets
Strings
Languages
Functions
Automata Theory
Definition: how computations are carried out
Early computing machines
How and why Turing came up with his machine model
Representing a Turing Machine as a table
Representing a Turing Machine as a state diagram
Computability Theory
Definition: what computations are (theoretically)possible
Why not every function is computable
The simple counting argument: there are more functions than programs
Church-Turing Thesis
The Halting Problem
Complexity Theory
Definition: what resources are required for computations
Kinds of computability measures
P vs. NP
This is a timed mini-quiz which tests for immediate understanding of topics and not your ability to work out problems over an extended duration of time. There will be 5–10 questions. Some may be multiple choice, multi-select, matching, and very short answer.
All content on the assigned readings is fair game for questions, so do not neglect the readings, and by all means do the recall questions!