This document introduces VAL II programming language for programming the PUMA-560 robot arm. It discusses defining robot locations using transformations which allows representing positions and orientations relative to other objects. This is important for defining composite objects. It also covers various motion instructions in VAL II like MOVE, MOVES, APPROACH, and DEPART, which can generate either joint interpolated motions or straight-line paths. Structured programming constructs like the CASE statement are also described for selecting actions based on conditions.