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?

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
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!

Good to know

Know what's good
, what to watch for
, 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

Save Computational Thinking for K-12 Educators: Abstraction, Methods, and Lists to your list so you can find it easily later:
Save

Reviews summary

In-depth teaching course for k-12 educators

Learners say that all courses in this specialization were excellent and provided great information, practice, and effective ways to bring those methods immediately into use in the classroom.
The course provides useful and practical information.
"All of these courses in this specialization were excellent."
"They gave great information and practice and clearly showed effective ways to bring them immediately into use in the classroom!"
The course helps teach how to use new methods in the classroom.
"All of these courses in this specialization were excellent."
"They gave great information and practice and clearly showed effective ways to bring them immediately into use in the classroom!"

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.
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.
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.
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.
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.
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.
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.

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

Here are nine courses similar to Computational Thinking for K-12 Educators: Abstraction, Methods, and Lists.
Computational Thinking for K-12 Educators: Conditional...
Most relevant
Computational Thinking for K-12 Educators: Nested If...
Most relevant
Java for Beginners: Loops & Arrays
Most relevant
Computational Thinking for K-12 Educators: Variables and...
Python Scripting Fundamentals
Computational Thinking for K-12 Educators: Sequences and...
Python Loops and Looping Techniques: Beginner to Advanced
Advanced SQL Server Triggers: Optimizing and...
Managing Anger and Frustration in the Workplace
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 - 2024 OpenCourser