This document provides an overview and user guide for automating HEC-RAS simulations using the HEC-RAS Controller (HECRASController). The HECRASController allows users to control HEC-RAS from external applications using programming code. The book discusses the key components of the HECRASController, provides code samples and step-by-step instructions for writing programs to open HEC-RAS, modify inputs, run simulations, and retrieve outputs. It also covers strategies for handling errors and progress tracking. The appendices document all procedures in the HECRASController in detail. The book aims to help HEC-RAS users learn basic programming to more efficiently automate HEC-RAS