This document provides an overview of CS 415: Programming Languages taught in the fall of 2005. It discusses the history of early computing devices like scales, abacuses and Stonehenge. It then covers why programming languages are studied, reasons for many languages existing, different programming domains and paradigms. The document also outlines the compilation process including scanning, parsing, semantic analysis, code generation and improvement stages.