Group Learning

Computational Thinking & Block Programming in K-12 Education

Teach Computational Thinking. Be prepared to teach block-based programming in K-12 settings

Beginner Level
2 months to complete at 10 hours a week
Flexible Schedule

Beth Simon

What Your GEA Program Payment Includes?

1. Full Access & Certificates

Enjoy six months of unlimited Coursera access and earn an official certificate from the university or company offering your specialization.

2. AI Coach & Global Community

Get instant guidance from Coursera’s AI Coach and join worldwide discussion forums to connect and collaborate with learners.

3. GEA Tutor & Instant Activation

Your payment is instantly verified by GEA for quick access, added to a dedicated WhatsApp group led by a GEA Tutor for support.

4. Innovation Centers & Premium Services

Access GEA Innovation Centers or reach the Central Team for specialized tutoring, internships, job placements, or academic support.

What You’ll Learn

In the 21st century, computational thinking is a skill critical for all the world's citizens. Computing and technology is impacting all our lives and everyone needs to know how to formulate problems and express their solutions such that a computer can carry it out.In this Specialization you will both learn several block-based languages, but using novel approaches designed to make learning programming easier. Covers most CSTA Algorithms & Programming Standards for Algorithms, Variables, Control, and Modularity: Levels 1-3A.Applied Learning ProjectIn this Specialization you will complete four projects to support equity in teaching computing (access & standards adoption, underrepresentation & recruiting, diversity, and culturally responsive teaching) and four projects to support quality pedagogical practices for teaching programming (Pair Programming, Parsons' Problems, Debugging, Creative Programming Projects and Rubrics) . Additionally you will complete the Advanced Placement Computer Science Principles Create Task and create lesson plans to support your students in preparing to succeed on the Create Task.

Skills You’ll Gain

Algorithms Education Software and Technology Brainstorming Technical Communication Program Development Diversity Awareness Cultural Responsiveness Programming Principles Code Review Debugging Diversity Equity and Inclusion Initiatives Computer Programming Animation and Game Design Event-Driven Programming Computational Thinking Computational Logic Computer Science Computer Programming Tools Digital pedagogy

Shareable Certificate

Earn a shareable certificate to add to your LinkedIn profile..

Develop Your Specialized Knowledge

Learn in-demand skills from university and industry experts

Master a subject or tool with hands-on projects

Develop a deep understanding of key concepts

Earn a career certificate from University of California San Diego

6 courses series

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.

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.

Want to make a game that ends when you "catch" an object by clicking on it? Or maybe you get points based on how close you came? You'll do that in this class!This class teaches the concepts of conditional loops and if/else statements. 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 repeat until loops, while loops, and if/else statements 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 support interactive learning experiences among your students with Peer Instruction. Additionally, you will create a resource for your classroom to support an equitable classroom.

How could you program a complex "choose your own adventure" game? How can your soccer game determine goals, balls out of bounds, and corner kicks? You'll learn to do both of these in this course!This class teaches the concepts of nested if/else statements and compound Boolean conditional expressions. 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 if/else statements and compound conditionals 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 prepare classroom resources to help your students to develop debugging skills. Additionally, you will create resources to help educate your students about the impacts of lack of equity in K-12 CS instruction.

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.

In this capstone project course, you will learn to support your students in successfully completing the Advanced Placement Principles Create Task -- however this task can be useful for any course as a culminating, student-designed final programming project.You will learn to interpret and practice applying to real sample student work the Create Task rubric and have the option to modify it for your own setting. You'll prepare resources to help students through the challenges that come with doing an open-ended project that still needs to meet certain specifications. Finally, you'll complete your own Create Task assignment including writing about the ways in which you designed algorithms, used abstraction, and struggled with a challenge while completing the task. You'll be prepared to help students do well on the Advanced Placement Computer Science Principles Create Task!