About this course: How do we give instructions to a computer? Isn't programming hard? Not really! Whether it's giving someone directions to a nearby store or writing out some dance moves we frequently exhibit aspects of computational thinking in our everyday lives! This class teaches the first key concepts of programming -- sequences of instructions and basic counted repetition of instructions. For each concept, we'll start by helping you connect real-world experiences you are already familiar with to the programming concept you are about to learn. Next, through a cognitively scaffolded process we'll engage you in developing your fluency with problem solving with sequences and repeated instructions in a way that keeps frustration at a minimum. Along the way you will learn about the common challenges or "bugs" students have with these concepts as well as ways to help them find and fix those concepts. You'll also be guided in running classroom discussions to help students develop deeper understanding of these concepts. Finally, you'll learn about a recommended pedagogical practice, Pair Programming, and find out why research recommends teaching block-based programming first.