This document provides instructions for programming Lego Mindstorm NXT robots. It explains that students will first build a starting robot but it needs a program to function. Students learn to think like a computer uses algorithms by having one student act as a blindfolded robot taking verbal directions from a programmer. The basics of NXT programming are then covered, including movement blocks, sound blocks, switch blocks, wait functions, and loops. Students are instructed to collect distance data to accurately program movement distances and then compete by programming their robot to complete an obstacle course. Additional design resources are also provided.