This document provides an introduction and overview of grid generation. It discusses the basic steps in grid generation which include defining grid points, connecting them to discretize the domain, solving problems on the discretized domain, and refining the grid. It also describes logical and physical spaces, different types of coordinate maps, block-structured grids, and open source tools for grid generation and visualization.