How can students learn about abstraction by creating a movie scene? Or make an interactive map using lists? You’ll learn (and do it yourself) in this course!
This class teaches the concepts of abstraction (methods and parameters) and lists. 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 abstraction and lists 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 the importance and logistics of assigning creative, student-designed programming projects.
Additionally, you will create a personal plan for increasing your skills in supporting a culturally responsive learning environment in your classroom.
Meet Dr. Simon and fellow learners in this class! Find out what you’ll be doing and learning.
How can we simplify instructions further with repeats? How do you dance the chicken dance? We’ll cover these questions and more in this module! Learn how nested repeats work by making dance instructions, solving programming puzzles, and creating a program. Prepare for class discussions around challenging questions about nested repeats.
More Nested Repeats & Events
Be prepared for teaching nested repeats with code.org’s Bee and Zombie programming challenges, and get ready to learn about events! Find out how to grab your students’ attention with events, and practice your understanding by imagining: what if you could control someone with a game controller? Learn more about events by playing with programming puzzles and creating your own program.
More Events & Variables
In this module, we’ll explore how events are taught in the classroom and go through another code.org challenge: this time, we’re creating the game of Bounce (or Pong), which is just like air hockey! We’ll also introduce how variables are placeholders for data by displaying them as a real-world placeholders: envelopes. Work on getting comfortable with variables in a variety of programming puzzles.
After working through some tricky examples of changing variables, we’re ready to bring variables to your classroom! First, we’ll cover a more thorough lesson plan for the “variables as envelopes” metaphor. Then, we’ll head back to the code.org Artist environment to show the true power of variables and how much they can affect our drawings!
Equity & Pedagogy
We take a break from programming concepts to ensure that your classroom environment encourages a healthy learning environment. Learn how to make fun assignments a little more approachable by using Parsons’ problems, and explore how you can make your computer lab a respectful and supportive environment for all, especially students that might be underrepresented.
There is no background knowledge, neither in education nor in Computer Science, required to take this course - just an interest in learning how to give computers instructions to solve problems! However, if you have no prior programming experience, we recommend you take the preceding course in this Specialization first.
Basic proficiency in the use of Googledocs will be needed to complete assignments within the course. Google help documentation will be provided, and with some extra attention, first time use of Googledocs should not be a barrier to successful completion of the course.