We may earn an affiliate commission when you visit our partners.
Course image
Beth Simon

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.

Read more

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.

Enroll now

What's inside

Syllabus

Course Orientation
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.
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a strong foundation for beginners who want to learn about computer programming
Designed for educators, this course helps teachers develop low-frustration learning experiences for their students
Uses cognitive scaffolding to engage learners in a meaningful way and minimize frustration
Emphasizes the issues of equity and cultural relevance in computer science education
Includes practice problems, debugging tips, and assignment creation guidance to support educator learning

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Computational thinking for k-12 educators

According to learners, this course offers a highly relevant and practical introduction to computational thinking concepts like abstraction, methods, and lists, specifically designed for K-12 educators. Students praise its focus on pedagogy and equity, providing teachers with strategies and activities directly applicable in the classroom using the visual programming tool, Snap!. While the course is often described as a solid foundation, some educators with prior experience found it too basic, suggesting it is best suited for beginners or those new to teaching computer science. Overall, it is considered a valuable resource for integrating computer science into K-12 curricula.
Visual, block-based tool for concepts.
"The course relies heavily on Snap!, which is a great visual tool for introducing programming."
"Working with Snap! blocks helped me understand how the code structures work."
"While Snap! is good for beginners, I wonder about transitioning students to text-based languages later."
"The Snap! assignments effectively reinforced the concepts taught."
Best for educators new to CS.
"This course is an excellent starting point for educators who have no prior computer science background."
"For someone new to CT and programming, this provides a solid and manageable introduction."
"As a total novice, I found the pace and content appropriate for building foundational understanding."
"Educators with some CS experience might find parts of this course quite basic."
Breaks down complex ideas clearly.
"The explanations of abstraction and lists were clear and easy to follow, even for a beginner."
"I appreciated how they connected abstract concepts to real-world examples first."
"The use of Snap! made the programming concepts very accessible and less intimidating."
"The cognitively scaffolded process helped minimize frustration while learning."
Valuable teaching strategies included.
"Learning about common student 'bugs' and how to help fix them was incredibly useful."
"The guidance on running classroom discussions was a highlight for me."
"The module on equity and culturally relevant teaching was insightful and necessary."
"Parsons' Problems introduction was a great takeaway for designing low-frustration lessons."
Directly applicable activities for K-12.
"I immediately started using the activities and strategies in my own classroom with great success."
"The course provided practical tools and strategies I could apply immediately to my teaching."
"This is perfect for K-12 teachers looking to bring CS into their classrooms."
"The focus on pedagogy and equity is incredibly relevant and helpful for educators."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Computational Thinking for K-12 Educators: Abstraction, Methods, and Lists with these activities:
Read 'Head First Java'
Gain a comprehensive understanding of Java programming concepts, including loops, variables, and events, by reading this introductory book.
Show steps
  • Obtain a copy of the book.
  • Read through the chapters that cover loops, variables, and events.
  • Complete the exercises and practice problems provided in the book.
Practice coding loops
Review the concepts of loops in programming, focusing on nested loops, to strengthen your foundation before starting the course.
Browse courses on Nested Loops
Show steps
  • Set up a coding environment and review basic syntax.
  • Create a simple program that uses a loop to print a sequence of numbers.
  • Modify the program to use nested loops to print a table of numbers.
Learn about variables and events
Explore online tutorials and resources to gain a deeper understanding of variables and events in programming, which are essential concepts covered in the course.
Browse courses on Variables
Show steps
  • Search for tutorials on variables and events in the programming language used in the course.
  • Follow the tutorials and complete the practice exercises.
  • Create your own simple programs that use variables and events.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Attend a study group
Join a study group with other students enrolled in the course to discuss concepts, share knowledge, and work together on assignments and projects.
Show steps
  • Find a study group or create your own.
  • Meet regularly to discuss course material.
  • Collaborate on assignments and projects.
Assist fellow students
Enhance your understanding of the course material by assisting other students with their assignments, discussions, and projects.
Browse courses on Mentorship
Show steps
  • Identify opportunities to provide help to other students.
  • Offer assistance in a respectful and supportive manner.
  • Provide clear and concise explanations.
Solve coding challenges
Sharpen your programming skills by solving coding challenges that focus on the concepts of loops, variables, and events covered in the course.
Browse courses on Problem Solving
Show steps
  • Find online coding challenges or use resources provided by the course.
  • Attempt to solve the challenges on your own.
  • Review solutions and learn from your mistakes.
Develop a programming game
Apply the concepts learned in the course by creating a simple programming game that incorporates loops, variables, and events.
Browse courses on Game Development
Show steps
  • Design the game concept and gameplay mechanics.
  • Implement the game logic using loops, variables, and events.
  • Test and debug the game.
  • Share the game with others for feedback and improvement.
Develop a course project
Demonstrate your understanding of the course material by completing a project that incorporates the concepts of loops, variables, and events in a meaningful way.
Browse courses on Capstone Project
Show steps
  • Identify a project idea that aligns with the course objectives.
  • Develop a project plan and timeline.
  • Implement the project using appropriate programming techniques.
  • Test and debug the project.
  • Document the project and prepare a presentation for sharing.

Career center

Learners who complete Computational Thinking for K-12 Educators: Abstraction, Methods, and Lists will develop knowledge and skills that may be useful to these careers:
Computer Science Teacher
As a Computer Science Teacher, you will design and deliver instruction to students on topics such as coding, programming, and computer applications. This course will be especially helpful to you because it will help you build a foundation in computational thinking, which is the foundation of computer science. You will learn how to use abstraction, methods, and lists to help you solve problems while teaching your students by having hands-on experience to prepare you for the classroom.
Software Engineer
As a Software Engineer, you will design, develop, and maintain software applications. This course may be helpful to you because it will help you build a foundation in computational thinking, which is the foundation of software engineering. You will learn how to use abstraction, methods, and lists to help you solve problems while developing software applications.
Web Developer
As a Web Developer, you will design and develop websites and web applications. This course may be helpful to you because it will help you build a foundation in computational thinking, which is the foundation of web development. You will learn how to use abstraction, methods, and lists to help you solve problems while developing web applications.
Data Scientist
As a Data Scientist, you will use data to solve problems and make predictions. This course may be helpful to you because it will help you build a foundation in computational thinking, which is the foundation of data science. You will learn how to use abstraction, methods, and lists to help you solve problems while working with data.
Database Administrator
As a Database Administrator, you will design, develop, and maintain databases. This course may be helpful to you because it will help you build a foundation in computational thinking, which is the foundation of database administration. You will learn how to use abstraction, methods, and lists to help you solve problems while working with databases.
IT Manager
As an IT Manager, you will plan, implement, and manage information technology systems for an organization. This course may be helpful to you because it will help you build a foundation in computational thinking, which is the foundation of IT management. You will learn how to use abstraction, methods, and lists to help you solve problems in information technology.
Computer Programmer
As a Computer Programmer, you will write and maintain computer programs. This course may be helpful to you because it will help you build a foundation in computational thinking, which is required for computer programming. You will learn how to use abstraction, methods, and lists to help you solve problems you will encounter while programming.
Computer Support Specialist
As a Computer Support Specialist, you will provide technical support to users of computer systems. This course may be helpful to you because it will help you build a foundation in computational thinking, which is helpful in troubleshooting and support.
Information Security Analyst
As an Information Security Analyst, you will design, implement, and maintain information security systems. This course may be helpful to you because it will help you build a foundation in computational thinking, which is needed to understand and analyze information security.
Computer Systems Analyst
As a Computer Systems Analyst, you will analyze and design computer systems. This course may be helpful to you because it will help you build a foundation in computational thinking, which is the foundation of systems analysis and design.
Business Analyst
As a Business Analyst, you will analyze business processes and systems to identify opportunities for improvement. This course may be helpful to you because it will help you build a foundation in computational thinking, which is helpful in understanding and analyzing business processes and systems.
Project Manager
As a Project Manager, you will plan, execute, and close projects. This course may be helpful to you because it will help you build a foundation in computational thinking, which is necessary to understand and manage projects.
Technical Writer
As a Technical Writer, you will create documentation for technical products and services. This course may be helpful to you because it will help you build a foundation in computational thinking, which is useful in understanding technical concepts and writing clear and concise documentation.
Instructional Designer
As an Instructional Designer, you will design and develop educational materials and programs. This course may be helpful to you because it will help you build a foundation in computational thinking, which is helpful in understanding and designing educational materials and programs.
Quality Assurance Analyst
As a Quality Assurance Analyst, you will test and evaluate software products and services. This course may be helpful to you because it will help you build a foundation in computational thinking, which is helpful in understanding and testing software products and services.

Reading list

We've selected 13 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Computational Thinking for K-12 Educators: Abstraction, Methods, and Lists.
This multi-volume series provides a comprehensive treatment of computer programming and algorithms. It classic work that is highly regarded by computer scientists and programmers.
Renowned textbook on computer science education that uses the Scheme programming language to teach fundamental computer science concepts. It is widely used in academic institutions and provides a comprehensive overview of computer science principles.
Provides a comprehensive introduction to mathematical concepts and techniques that are essential for computer science. It good resource for students who want to develop a strong foundation in mathematics and its applications to computer science.
Includes a significant focus on the analysis of algorithms and data structures through the use of mathematical techniques. It good resource for students who are interested in learning about the theoretical foundations.
Presents an overview of the theory of computation, which provides a foundation for understanding the capabilities and limitations of computers. It valuable resource for students interested in theoretical computer science.
Provides a comprehensive overview of computational thinking, a problem-solving approach that uses computational methods. It good resource for students who want to develop their computational thinking skills and apply them to various domains.
Provides a comprehensive introduction to logic design and computer architecture. It good resource for students who want to learn more about how computers are designed and built.
Provides a comprehensive introduction to the principles of programming and software design. It emphasizes the importance of abstraction, modularity, and testing, and uses Python as the teaching language.
Provides a comprehensive introduction to compiler design and implementation. It good resource for students who want to learn more about how compilers work.
Provides a comprehensive introduction to algorithms, data structures, and their analysis. It good resource for students who want to develop a strong foundation in algorithmic thinking and problem-solving.
Provides a gentle introduction to programming using Python. It good resource for students who have no prior programming experience and want to learn the basics of programming.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser