Python for Kids Guide for 2022

Published by UCode Research on Aug 18, 2022

Everything You Need to Know About Python Coding For Kids in 2022

Our Python for Kids Guide for 2022 shares our insights into coding for kids and why Python is a great starting point. And it all starts with a view of your child’s future……

There are two ways you can look at the future. The first, which the media pushes hard and consequently many people believe, is something straight out of a dystopian novel.  In a nutshell, automation will be the biggest killer of good jobs since the Industrial Revolution. Since most jobs will be gone, the jobs that do remain will require new skills and knowledge – skills relevant to an economy dominated by technology.

But there’s another way of looking at it.

We believe that the future is brighter than ever, and will be filled with wonderful opportunities for everyone. By thinking this way, you can set your children—and even yourself—up for success in tomorrow’s world.

Society is increasingly in need of computationally-minded people that can solve complex problems. And the lion’s share of these solutions will be technological in nature.[1] This means we increasingly need people capable of thinking computationally, capable of coding and programming computers, designing electronic circuitry, and building the technology of the future are the workers that will be in the greatest demand.

To ensure that your child will be capable of filling the coming waves of technological jobs, it’s critical that they learn how to think computationally, and the best way to do this is to teach them to code. And the best way to learn to code is to learn Python. Coding in Python is something that even young kids can begin to learn, and the process of writing code is a pure expression of computational thinking. In order to write effective code, students need to go through the process detailed earlier so that they can thoroughly understand a problem to instruct the computer on how to work out solutions.

But how to start? When to start? How to keep your student interested? We are going to answer all of those questions. We are going to focus on Python for Kids because learning Python will get your student to where they need to be. So here is the run down:

  1. Python Programming: A Brief History
  2. Why Learn to Code?
  3. What Age Can You Start To Learn Python?
  4. Core Curriculum Concepts in Python
  5. How To Choose a Python Coding Course for Kids
  6. PyGames and Building Games with Python
  7. Paid Python Courses for Kids That We Can Recommend
  8. The Best Python IDE’s
  9. Python Books and Free Sites for Kids
  10. Certification in Python

 

Python Programming: A History

Remarkably, Python began in an era where almost no one had even heard of the Internet. It was released in 1990 and its first numbered version, 0.9.0, launched in 1991. The language’s inventor, Guido van Rossum, is a native of The Netherlands. Incredibly, he started the project as nothing more than something to keep him busy as his office was closed the week of Christmas. van Rossum was feeling in an irreverent mood when he decided to construct an upgrade for the existing programming languages that were available at the time. More than anything, he wanted a language that could make sense to people who didn’t spend 18 hours a day in front of a computer screen, and that would preach simplicity and the beauty of designing something special.

That sort of commitment to the beauty of creation beyond the “hardcore” technical realm was a revolutionary thing. The language is also meant to be fun to learn and fun to use, a spirit that has since been emulated by the likes of Google. While other languages were difficult to understand Python is easy to learn and easy to write. Its tutorials are light-hearted and emphasize a crucial point, that you can do anything, build anything, and achieve anything by learning how to code.

The result of that ambition is that Python has introduced whole new sectors of the population to coding specifically and computer programming in general. It has also made Python a language that is perfect for teaching kids. Python uses intuitive commands such as ‘if’, ‘for’, ‘while’, ‘try’, ‘with’, and ‘print’ that are easily recognizable by anyone as young as early grade school children and follow the syntax of basic English composition. The fact that Python runs on virtually all major computing systems, including both Windows and Macintosh, allows it to reach virtually every computer user in the world. Its resume outstrips just about every other competitor on the market, as past and current clients include heavyweights like Google, Meta, NASA, YouTube, and Industrial Light and Magic – the special effects company owned by Disney.

 

Why Learn to Code?

The world and the global economy are changing around us. For the bulk of the 20th century, we lived in a manufacturing economy — one in which the creation, distribution, and sale of goods created jobs. But the 21st century and its advances in technology have created an information economy — one in which knowledge and skills are the currency rather than goods produced in a factory or on an assembly line.

Because of this shift from a manufacturing to an information economy, today’s students must learn differently and develop different skills than students of just a few years ago. In the 20th century, a student could study and work hard, attend a university, and then count on a steady, secure job-related in some way to manufacturing. The goal of that job was almost always to make things and to make them as efficiently and inexpensively as possible. But, today, those manufacturing jobs are quickly disappearing. The economy is now driven by information and knowledge, and jobs in all industries require more advanced skills — skills that include the ability to think computationally.

In short, computational thinking is a process that makes the toughest challenges more manageable. And, while computational thinking draws on concepts fundamental to computer science, it can be used to solve a wide range of problems in a number of different subject areas and industries. That’s why computational thinking is such an important skill for today’s students to learn.

What exactly is Computational Thinking? Computational Thinking is a problem-solving strategy that look at the problem as a “system” and seeks to solve the problem wholistically. It involves problem decomposition, analysis and solutions development as follows:

  • Decomposition – Breaking down a complex problem or system into smaller, manageable parts.
  • Pattern recognition – Looking for similarities common between various problems.
  • Abstraction – Focusing only on the important information while ignoring irrelevant details.
  • Algorithms – Developing a step-by-step solutions and rules to solve the problem

 

The benefits of learning to code and think computationally show up in our student’s lives in a number of ways.

  • Coding fosters creativity. Coding is accomplished through experimentation, trying novel ways of approaching a problem. Code frequently fails, but these failures are valuable teaching moments. Kids discover new ways of thinking about problems when they try a solution and it doesn’t work the way they expected. Coding builds resilient, flexible, creative minds.
  • Coding improves overall academic performance. Learning to code involves learning how to think logically. Kids learn how to tenaciously apply themselves to a problem until they find a workable solution. This teaches organizational skills, logic skills, and a host of other competencies that apply equally well to other academic pursuits.
  • Coding teaches math skills. Math is the universal language that all computational devices speak. In order to code effectively, students learn how to manipulate numbers and other abstract concepts. Coding, as a complement to standard math instruction, can greatly amplify a child’s ability to think mathematically and computationally.

So, in summary, coding in Python or any programming language teaches kids to think methodically. Computers are dumb. They can only do what a programmer tells them to do. In order for kids to learn to do this effectively, they need to make a plan, write code to execute that plan, and then refine their code when it fails, or when it underperforms. Over time simple programs become elaborate instruction chains, with branching logic and contingent decision points. Students evolve.

 

What Age Can You Start To Learn Python?

Parents ask us when should my kid start to code?  Well, today’s kids are digital natives. They’re surrounded by technology and grow up using computers, tablets and cell phones from a very young age. This is indicative of the ubiquity of digital technology. Today there’s scarcely a moment where our kids aren’t interfacing with some piece of networked, computer-controlled equipment.

We have been teaching kids to code since 2009 – actively teaching kids to code n schools, camps, labs and online. We have run programs in Shanghai, Hong Kong, Hang Zhou, Taipei, Berlin, Ithaca NY, Los Angeles, Mexico, Costa Rica, Saudi Arabia.    So, we know a lot about teaching kids to code. IAnd I am going share with you an important insight – the earlier you begin teaching kids to code, the better. Coding is a language, written by people, and understood by computers, and children’s brains are primed to learn languages. While new research indicates that this rapid language acquisition ability is retained through a child’s teenage years, the general consensus says that true fluency is most easily attained prior to the age of thirteen.

This is why it’s so critical that computer science education be made available to children throughout their formative years. There’s a fairly narrow window during which their brains are sponges for the syntax and grammar of programming, as well as learning the logical thought processes that are an intrinsic part of coding.

So, the limiting factor is not age, but reading level. If your student can read at a second-grade reading level, please start them off with Scratch. If they are not reading at that level, then practice reading or send them outside to play.

 

Core Curriculum Concepts in Python

The core curriculum concepts in Python are similar to the core concepts in any advanced programming language; Java, Ruby, React, JSS. Yes, they are expressed differently and often have subtle difference in how you use them, but they all share a common conceptual foundation. The core of this foundation includes the following:

Operators, Variables, Data Types, Strings, Functions, Arrays, Comparisons and If/Else statements, Elif statements, While Loops, For Loops, Nested Loops, Input and Casting.

If you want to write clean code, it is important that you build a strong understanding of these concepts. They are like chords in music and to play well you must understand the chord progressions.  To code well, you must understand these concepts.

Part of the challenge in developing this understanding is that the people who develop the curriculum for teaching coding assume a level of technical understanding that most of us do not have. Here is an example of a definition of a Variable from a popular coding website:

Python Variable is containers which store values. Python is not “statically typed”. We do not need to declare variables before using them or declare their type. A variable is created the moment we first assign a value to it. A Python variable is a name given to a memory location. It is the basic unit of storage in a program.

https://www.geeksforgeeks.org/python-variables/

If you have never studied computer science before, the above maybe a bit daunting. What is a ‘container’? What is ‘statistically typed’? We see the use of technical language to introduce basic concepts all the time. It is not good. Why does it happen? Because it is much more difficult to explain the fundamentals in simple language.

Here is an example of a definition of a Variable from our Python Basics Course:

Sometimes, we use labels when storing foods in containers to tell what they are holding. Vegetables can be placed in a container labeled vegetables, fruits in a fruits container, and more. These make it easy to understand the purpose of each of the foods inside the containers.  In Python, values can also be labeled so when others look at the code, it is easier to understand what is going on. Variables in Python are created to store and label values. A variable stores a value and is given a name.

We then follow it up with a example:

An example of variables being created is shown here.

word = ‘UCode’ #Stores the word ‘UCode’
number = 2022 #Stores the number 2022print(word) #Prints UCodeprint(number) #Prints 2022

 

In the above example, the variable ‘word’ stores the value as ‘UCode’. The variable ‘number’ stores the number 2022. Python then prints out both ‘word’ and ‘number’, outputting the stored value of each of the two variables.

And then we introduce how to create a variable.

To create a variable, a name for the variable is typed.  = is placed to the right of the variable name. The value we store is on the right of the equal sign. Our value is stored into our newly created variable.

There are then exercises to create variables. Please note that the purpose of every exercise is clearly communicated to the student.

Exercise: Making New Variables

The purpose of this exercise is to practice making variables.

  1. Create three variables that store the following:
  2. One variable stores a sentence.
  3. One variable stores a number.
  4. One variable stores a math operation.
  5. Print the three variables out.

I would note that the language and difficulty of the exercises are age appropriate. That is, the way we teach a “variable” in Scratch is different than Python reflecting the age differences and the differences in cognitive ability.  Here is a link to a video where the same concept is being taught in a UCode Scratch course.

https://vimeo.com/674645800

We provide these examples to you so that we can have a informed discussion on how to choose a coding course. Let’s move forward.

 

How To Choose a Python for Kids Course

With covid and the explosion in online learning, there are a lot of people and companies that have begun to teach Python Coding to Kids. Many of these are people who know how to program, but not how to teach. Others know how to teach, but not how to program. There are relatively few great resources. We will outline them later. There are a lot very ordinary providers and a few you should avoid.

So how to choose? What do you look for? Here are some critical features:

  • Curriculum Based – I cannot stress how important curriculum is to the learning process. A great curriculum can make up for an average teacher, but not the other way around. No formal curriculum? How can you assess learning? Project based? Great for older students with well-developed abstraction skills, but not for younger learners.
  • Integrated – The curriculum must be integrated – built concept by concept. Moving from one course to another must provide consistency. This is the issue with Udemy, Coursera, Khan – the curriculum is developed piecemeal by different “experts”. It doesn’t tie together.
  • Age Appropriate – Reading ability must be matched to the coding curriculum. Children learn differently than adults as they do not have an adult’s abstraction skills. Age, abstraction ability and reading level must all be appropriate. It’s never fun if you do not understand.
  • Student Led – Students must work at their own pace with the support of an instructor. Good programs are not instructor-led and they do not teach to the slowest student in the classroom.
  • Assessed – Courses and learning must be formally assessed.

 

PyGames and Building Games with Python

You can build cool games with Python, specifically with a library called PyGames. We like PyGames and use it in our Python Basics and PyGames Courses. It uses text-based Python coding to build cool games. How is it different than Minecraft or Roblox? They do not teach your kid to code. Yes, Minecraft is so much fun to play. We love it, but we do not see much educational value. It is great entertainment but learning how to build a secret trap door in Minecraft using a templet is not really of much value.  Roblox is great if you are using native Lua, but very few kids do.

Sorry parents – Minecraft is not going to teach your kid to code. What will? Kids learn to code by coding. We fall back again on the analogy to music – practice, practice, practice.

 

Paid Python Courses for Kids That We Can Recommend

There are so few that we believe are rigorous and so many to avoid. Here are our top 3 recommendations:

  • Juni Learning – This is individual instruction by college students. Our parents who sue them say it is a little hit and miss with the instructors, but overall effective. You can check them out  at junilearning.com. The downside is that it is very expensive. I guess it is fine if you live in Palo Alto, but I think most of u would find it too costly.
  • Code Wizards – CodeWizards is based in the Silicon Valley and run small group classes and camps. We think they are very good. They have a formal curriculum, experienced teachers and a variety of courses. They are on the high side pricing wise, but much more affordable than individual instruction at Juni Learning. You can find them at codewizardshq.com
  • UCode – We offer small group and individual instruction. We are nationally recognized for our curriculum. We are one of the oldest established learning centers of our kind. All of our curriculum is available to you for FREE via a state-of-the-art Learning Management System. Instruction is sold separately and is significantly cheaper than our competitors. So, best quality and lowest cost. http://www.ucode.com

 

The Best Python IDE’s

Your students will need a IDEs, or an Integrated Development Environment, to start coding in Python. The right IDE can autocomplete lines of code, make debugging easier, build executables of your code, and make the language more understandable overall.

We would recommend you use a browser based IDE and our favorite is Replit.com It has a  simple user interface, but is one of the most powerful IDEs for Python out there. You can also use it for other languages like HTML, Java and JavaScript. You can find it at www.replit.com

Because we use it for our classes, we have a video that explains it and takes you through set-up. Here is the link:

https://vimeo.com/677549493

 

Python Books and Free Sites for Kids

There are a few on www.Amazon.com The best know is Python for Kids: A Playful Introduction To Programming by Jason R. Briggs . Its OK. There are 4-5 others. Nothing that will wow you.

I recommend you go and pull down the UCode curriculum. Its free. There are short instructional videos on the core Python concepts that are integrated quizzes, project steps and coding exercises in a state-of-the-art learning management system. The videos are fun and introduce the programming concepts using non-technical language.  Instruction is available, but not required. It is a lot better than a book. We have done all the heavy lifting. You just bring the coding student 😊

 

Certification in Python For Kids

Python.org offers a great certification program. www.python.org. It is not expensive and we recommend it, especially if you are looking to bulk up your college application.

 

[1] “The Impact of Digital Technology on Society and Economic Growth – IMF.” https://www.imf.org/external/pubs/ft/fandd/2018/06/impact-of-digital-technology-on-economic-growth/muhleisen.htm. Accessed 27 Jul. 2019.

https://wp.ucode.com/navigating-through-coding-concepts

 

Loading...