How do gamers cause things to happen when they hit buttons on their controller? How does the computer keep track of gamer's scores?
This class teaches the concepts of nested loops, events, and variables. 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 nested loops, events, and variables 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 how to develop low-frustration learning experiences for learning programming via Parsons' Problems., Additionally, you will create an email to either a counselor, administrator or parent organization to help them understand the value of all students taking computer science.
Abstractions Part 1
Examine how abstraction is manifested in everyday things and look at an example using song lyrics. Practice your programming skills and apply your knowledge of parameters when writing method definitions in Snap programs. Learn some common debugging challenges/tips and create your own abstraction assignment.
Abstractions Part 2
Revisit the concept of abstractions with some non-interactive practice problems. Go through some especially tricky problems in a collaborative activity to reinforce the idea that computers do what you tell them to do, not what you hope they do! Finally, we'll learn about the fundamentals of recursion and how block-based graphical environments can make learning recursion visual and easier!
Lists Part 1
Define lists and discuss uses and representations of lists. Unscramble programs in Snap to better understand the possible operations you can perform with lists. Identify common challenges that students face, create your own assignment, and learn debugging tips.
Lists Part 2
Revisit the concept of lists with some non-interactive practice problems. Discuss the common mistakes students make while initializing lists and how to better distinguish between index and data. Find an educational video about how lists are used.
Equity & Pedagogy
Explore issues of culturally relevant teaching as specific to computer science classrooms -- and some ideas for making our computing classes more culturally relevant. Modify an unplugged activity to be more culturally relevant -- and get some additional ideas from reviewing the work of others!