This document provides an overview of Turing machines. It introduces Turing machines as a simple mathematical model of a computer proposed by Alan Turing in 1936. A Turing machine consists of a tape divided into cells, a read/write head, finite states, and a transition function. The transition function defines how the machine moves between states and reads/writes symbols on the tape based on its current state and tape symbol. Turing machines can accept languages and compute functions. Variations include multi-tape, non-deterministic, multi-head, offline, multi-dimensional, and stationary-head Turing machines. The properties of Turing machines include their ability to recognize any language generated by a phrase-structure grammar and the Church