Sorry, this page is no longer available
Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Andy Bush

This course will help you to become more confident in teaching programming to young children. As well as developing your own understanding of programming, you'll also investigate a range of strategies that you can employ to help your pupils.

During this course, you'll learn about the key programming concepts of algorithms, sequence, repetition, selection, and variables. You'll experience a number of different programming languages suitable for young people, and use your new knowledge to modify and create programs in the block-based language Scratch.

Read more

This course will help you to become more confident in teaching programming to young children. As well as developing your own understanding of programming, you'll also investigate a range of strategies that you can employ to help your pupils.

During this course, you'll learn about the key programming concepts of algorithms, sequence, repetition, selection, and variables. You'll experience a number of different programming languages suitable for young people, and use your new knowledge to modify and create programs in the block-based language Scratch.

The course will also introduce you to program design. You'll learn about and experience all of the stages of program development from idea to running code.

By the end of the course, you'll be able to design and code your own Scratch programs, as well as being able to support your young learners as they begin their coding journeys.

What you'll learn

Over the following four weeks you will learn more about algorithms and programming, and how to teach young children to code.

You will:

  • Look at how kids can create algorithms using direction cards, labelled diagrams, and flowcharts.
  • Think about how you can help children progress through different levels of abstraction when creating a program.
  • Consider a range of programming languages suitable for young people, including ScratchJr, Logo, and Crumble.
  • Examine the key programming concepts of sequence, repetition, selection, and variables, and how you can introduce children to these, including by using real-world examples.
  • Design programs using these concepts, and use the block-based programming language Scratch to implement your design.
  • Review a lesson to put into practice what you've learnt in the course.

What's inside

Learning objectives

  • Look at how kids can create algorithms using direction cards, labelled diagrams, and flowcharts.
  • Think about how you can help children progress through different levels of abstraction when creating a program.
  • Consider a range of programming languages suitable for young people, including scratchjr, logo, and crumble.
  • Examine the key programming concepts of sequence, repetition, selection, and variables, and how you can introduce children to these, including by using real-world examples.
  • Design programs using these concepts, and use the block-based programming language scratch to implement your design.
  • Review a lesson to put into practice what you've learnt in the course.

Syllabus

Week 1 - Introduction to programming
What is programming?
What's an algorithm?
Moving from an algorithm to code
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches the fundamentals of programming in an entertaining way
Leads you through the stages of program development
Introduces the concept of variables
Enables you to implement your own designs in Scratch
Helps you progress through abstraction levels
Examines various programming languages

Save this course

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

Reviews summary

Teaching kids programming fundamentals

According to learners, this course is an excellent and highly accessible resource for anyone looking to teach programming to young children aged 5-11. Students particularly praise its ability to demystify complex concepts, making it perfect for beginners with little to no prior coding knowledge. The course provides invaluable practical teaching strategies, utilizing real-world examples and hands-on activities to make abstract ideas tangible. While the focus on Scratch is a major positive, some learners found the content too simplistic if they already possessed coding experience, suggesting it's primarily a strong foundation rather than an advanced pedagogical guide.
Content is organized in bite-sized, manageable sections.
"The modules are bite-sized and well-structured, making it easy to fit into a busy schedule."
"The pace was perfect."
"I liked the breakdown of concepts like algorithms and variables."
"The step-by-step guidance, clear explanations, and practical examples made me feel confident."
Strong emphasis on Scratch as a relevant and effective tool.
"I particularly liked the focus on Scratch, which is highly relevant for schools."
"The Scratch projects were fun and insightful."
Offers concrete methods and real-world examples for instruction.
"I found the examples really clear and the suggestions for how to implement the concepts in a classroom were invaluable."
"The real-world examples helped me grasp concepts easily, and I feel much more equipped to guide my children."
"I learned so much about breaking down complex ideas into simple, engaging activities for children. The use of unplugged activities and real-world scenarios was brilliant."
"I now understand how to make these abstract concepts tangible for young minds."
Perfect for novices, building confidence in teaching coding.
"As a primary school teacher with little prior programming experience, this course gave me the confidence I needed to start teaching coding."
"Perfect for beginners! As a complete novice to teaching computing, this course demystified the whole process."
"I'm a parent looking to introduce my kids to coding, and this course made it so accessible."
"For someone completely new to it, it would be ideal."
May lack depth for those with prior coding or teaching experience.
"Some of the content felt a bit basic for me as I already had some coding knowledge..."
"...I was hoping for more advanced teaching strategies or ways to challenge older children within the 5-11 age range."
"If you're an experienced teacher or have some background in computing, you might find it too simplistic."
"It's definitely geared towards beginners, which is great for its target audience."

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 Teaching Programming to 5- to 11-year-olds with these activities:
Review fundamental programming concepts
Reviewing essential programming principles will provide a strong base for grasping the concepts in this course.
Browse courses on Programming Fundamentals
Show steps
  • Revisit key programming terminology like variables, data types, and operators.
  • Practice writing simple programs using fundamental programming structures like loops and conditionals.
Organize and synthesize course materials
Organizing your course materials will enhance your retention and make it easier to locate important information.
Show steps
  • Review all course materials, including lecture notes, slides, and assignments.
  • Create a structured system for note-taking and material organization.
  • Regularly revisit and summarize your organized materials to strengthen your understanding.
Engage in peer-to-peer discussions
Exchanging knowledge and perspectives with peers will enhance your understanding and identify areas for further exploration.
Show steps
  • Form study groups or connect with fellow students online.
  • Discuss course concepts, share resources, and collaborate on projects.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Explore additional programming resources
Seeking out external resources will enrich your understanding of programming concepts and provide diverse perspectives.
Show steps
  • Identify reputable online tutorials or video courses that cover similar topics.
  • Follow the tutorials, taking notes and experimenting with the code examples.
  • Engage in online forums or discussion groups to connect with other learners and experienced programmers.
Complete coding challenges and exercises
Regular practice through coding drills will solidify your understanding of concepts and enhance your problem-solving skills.
Show steps
  • Find online coding platforms or resources that offer bite-sized challenges.
  • Set aside dedicated time each week to solve coding problems and refine your solutions.
Develop a personalized programming project
Building a project from scratch will provide hands-on experience, encourage creativity, and deepen your understanding of the course material.
Show steps
  • Brainstorm a project idea that aligns with your learning goals and interests.
  • Design the project, including the functionality, user interface, and architecture.
  • Implement the project using the programming concepts covered in the course.
  • Seek feedback from peers or mentors to refine your project and improve its quality.
Assist and mentor junior programmers
Mentoring others not only reinforces your own knowledge but also fosters a sense of community and shared learning.
Show steps
  • Identify opportunities to volunteer or assist in programming clubs or online forums.
  • Provide guidance, support, and constructive feedback to beginner programmers.
Contribute to open-source coding projects
Participating in open-source projects offers exposure to real-world coding scenarios, collaboration opportunities, and valuable learning experiences.
Show steps
  • Identify open-source projects that align with your interests and skill level.
  • Review the project's documentation and codebase.
  • Make meaningful contributions to the project, such as fixing bugs, suggesting improvements, or adding new features.

Career center

Learners who complete Teaching Programming to 5- to 11-year-olds will develop knowledge and skills that may be useful to these careers:
Computer Programmer
Computer Programmers use their knowledge of programming languages and software development tools to create and maintain computer programs. This course may be useful to aspiring Computer Programmers, as it provides a foundation in programming concepts and the block-based programming language Scratch. With this knowledge, Programmers can develop the skills needed to create and modify programs for a variety of applications.
Software Developer
Software Developers design, develop, and maintain software applications. This course may be beneficial to Software Developers, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Developers write more efficient and effective code.
Data Scientist
Data Scientists use their knowledge of statistics, machine learning, and programming to extract insights from data. This course may be useful to aspiring Data Scientists, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Data Scientists develop the skills needed to analyze and interpret data effectively.
Web Developer
Web Developers design and develop websites and web applications. This course may be useful to Web Developers, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Web Developers create more dynamic and interactive web experiences.
Computer Scientist
Computer Scientists apply their knowledge of computer science theory and software engineering to design and develop computer systems and applications. This course may be particularly useful to Computer Scientists, as it provides a foundation in programming fundamentals like algorithms, sequence, repetition, selection, and variables. With this knowledge, Computer Scientists can build a strong foundation for developing and maintaining complex software systems.
Database Administrator
Database Administrators design, implement, and maintain database systems. This course may be useful to aspiring Database Administrators, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Database Administrators develop the skills needed to manage and maintain complex database systems.
Computer Systems Analyst
Computer Systems Analysts design, implement, and maintain computer systems. This course may be useful to aspiring Computer Systems Analysts, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Analysts develop the skills needed to design and implement effective computer systems.
Machine Learning Engineer
Machine Learning Engineers design, develop, and maintain machine learning models. This course may be useful to aspiring Machine Learning Engineers, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Engineers develop the skills needed to build and implement effective machine learning solutions.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design, develop, and maintain artificial intelligence (AI) systems. This course may be useful to aspiring Artificial Intelligence Engineers, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Engineers develop the skills needed to build and implement effective AI solutions.
Information Systems Manager
Information Systems Managers plan, implement, and maintain information systems for organizations. This course may be beneficial to future Information Systems Managers, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Managers make informed decisions about the design and implementation of information systems.
Network Administrator
Network Administrators design, implement, and maintain computer networks. This course may be useful to future Network Administrators, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Administrators develop the skills needed to manage and maintain complex computer networks.
Information Security Analyst
Information Security Analysts plan and implement security measures to protect an organization's computer systems and networks. This course may be useful to aspiring Information Security Analysts, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Analysts develop the skills needed to identify and mitigate security risks.
Robotics Engineer
Robotics Engineers design, develop, and maintain robots. This course may be useful to aspiring Robotics Engineers, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Engineers develop the skills needed to program and control robots for various applications.
Computer Hardware Engineer
Computer Hardware Engineers design, develop, and maintain computer hardware systems. This course may be useful to aspiring Computer Hardware Engineers, as it provides a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Engineers develop the skills needed to design and build efficient and reliable computer hardware systems.
Computer and Information Research Scientist
Computer and Information Research Scientists take a theoretical approach to problem-solving in computer science. This course may be useful to those interested in this field by providing a foundation in programming concepts like algorithms, sequence, repetition, selection, and variables. Understanding these concepts can help Research Scientists develop more efficient and effective solutions to complex computational problems.

Reading list

We've selected 11 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 Teaching Programming to 5- to 11-year-olds.
Suitable for young learners, this book provides a step-by-step approach to learning Scratch programming, focusing on creating interactive projects and games.
Provides a solid foundation in computer science using Python. It covers essential concepts and techniques, making it suitable for readers who want to deepen their understanding of programming.
Provides an in-depth look at computer systems and their underlying principles, offering valuable insights for those interested in understanding the inner workings of computers.
Emphasizes the importance of writing clean and maintainable code, providing guidelines and best practices for software development.
This classic textbook provides a comprehensive treatment of algorithms, offering a deep understanding of their design and analysis.
Provides a comprehensive introduction to deep learning, covering fundamental concepts, architectures, and applications.

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