Lecture 2: Strings, Input/Output, and Branching