National Curriculum Goes Functional by Michal Slaski | ElixirConf EU 2023

Code Sync
31 Oct 202328:11

Summary

TLDRIn this talk, Mikhail shares his experiences teaching programming and computing to children, focusing on engaging methods that promote intrinsic motivation. He highlights the importance of early exposure to programming, particularly for girls, and discusses innovative teaching techniques like unplugged computer science activities, hands-on projects, and using functional programming to connect math concepts with coding. Mikhail also emphasizes the value of using open-source resources and creating a supportive learning environment where kids can explore programming in a fun, interactive way. His approach aims to make programming both accessible and enjoyable for young learners.

Takeaways

  • ๐Ÿ˜€ **Starting programming early**: Many countries, like England and Poland, have made programming part of the national curriculum starting as early as first grade to foster computational thinking from a young age.
  • ๐Ÿ˜€ **Unplugged activities**: Teaching computer science concepts without screens, using physical activities (e.g., card games to teach binary), can be more effective for young learners, especially at ages 6-8.
  • ๐Ÿ˜€ **Computational thinking**: Key elements like algorithmic thinking, abstraction, and decomposition should be introduced early to help children understand how problems can be solved programmatically.
  • ๐Ÿ˜€ **Intrinsic motivation**: Motivating children by allowing them to work on projects they find interesting, such as creating interactive books or outdoor games, is essential for effective learning.
  • ๐Ÿ˜€ **Mathematics and programming connection**: Programming concepts, especially recursion, can be better understood by linking them to mathematical patterns, like fractals in nature, which help make abstract ideas more tangible.
  • ๐Ÿ˜€ **Functional programming benefits**: Functional programming languages like Elixir, which have strong ties to mathematics, are a great choice for teaching children programming, as they align well with math concepts already taught in schools.
  • ๐Ÿ˜€ **Livebook for interactive learning**: Using tools like Livebook allows teachers to create interactive lessons where students can experiment with programming concepts in a hands-on, real-time environment.
  • ๐Ÿ˜€ **Cognitive development consideration**: Teaching methods should account for how children's brains develop at different ages, with younger children needing more tactile, engaging activities before introducing digital tools.
  • ๐Ÿ˜€ **Real-world examples and problem-solving**: Children as young as 9 can design complex concepts, such as communication protocols, demonstrating that age should not be a barrier to understanding advanced computer science topics.
  • ๐Ÿ˜€ **Open-source resources**: The speaker advocates for open-source teaching materials, such as those from the Bootstrap project and Computer Science Unplugged, to help educators and parents teach coding and computational thinking without needing advanced programming knowledge.
The video is abnormal, and we are working hard to fix it.
Please replace the link and try again.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now