This document provides an overview of flip flops, which are basic elements of sequential logic. It defines sequential logic as circuits that store the results of previous inputs. The core of a flip flop is an SR latch, which acts as a simple memory element. Different types of flip flops are discussed, including D flip flops, which simply store the value on their input at the clock transition. Edge-triggered flip flops respond to inputs at precise clock edges, while asynchronous control inputs take effect immediately rather than waiting for the clock. Propagation delay is the time it takes for an output to respond after a clock edge.