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.