Coding for kids: turning zeros and ones into something colorful

computer science parents

When we think of a programmer, a very black and white image often comes to mind: a 20-something year old sitting alone in a dark basement continuously staring at a black screen with white letters that to most wouldn't make any sense. Recently, a much more colorful picture has been coming to my mind: a 10 year old excitedly showing her friends the tennis match she has just programmed, with a large smile emerging on her face as she explains how it makes a sound every time one of the tennis players hits the ball, or how she made the sky color change depending on the hour of the day.

But how can we turn the black and white zeros and ones that govern our computers into something so colorful and engaging?

My answer consists of two parts: the first is making coding a little bit less about computers, and the second is, when actually using computers, choosing the right tools to start.

Make coding a little bit less about computers

This might seem odd at first since, after all, coding is what makes computers work. Endless lists of "programming languages you need to learn to find a job in 2021" or "top 5 programming languages of the future" might make you think that learning to code means learning a programming language. If you ask any computer scientist, however, they will tell you that, once you learn computational thinking, programming languages become the easy part of coding. This might make computational thinking sound very complicated, but the good news is that it's very present in our daily lives.

Algorithms are the sequences of instructions that we give a computer to perform a task. We also give people sequences of instructions when we write a recipe or teach them how to take care of a plant. We follow a sequence of instructions when we play a sport, or use our phone's map app to get somewhere new. These, too, are algorithms. When learning computer science, we need to learn how to turn our instinctive, automatic algorithms into precisely detailed instructions, and we don't need a computer in this process. 

Instead of increasing our children's screen time, we can simply ask them to give us precise instructions to make a PB&J sandwich (https://www.youtube.com/watch?v=Ct-lOOUqmyY), or have them find the word "programmer" in the dictionary in some way faster than going through each of the letters up to P.

Choose the right tools to start

At some point, however, if you want to learn to code, you have to...well, code. But then again, learning the programming language itself is eventually going to be the easiest part, so there's no need to learn Python or Java in the beginning. For kids, there are some amazing tools out there that can help. 

Programming tools that use blocks avoid the need for memorizing commands all while giving users a visualization of the options they have. Websites like code.org or Tynker provide step-by-step instructions for children to program fun games or videos with few commands. LEGO Mindstorms allows kids to create code that affects a real-world, physical object: a LEGO robot they can build themselves. Scratch gives children endless tools and possibilities while instantaneously showing them the results of their work—and anyone who has spent more than half an hour with a youngster knows how excited instant gratification can make them. Through such engaging resources, children will know all the possibilities of programming and think algorithmically before moving on to written programming languages.

By bringing computational thinking to tasks we already know how to do and using tools that are appropriate for early learning stages of computer science, we allow children to become budding programmers, and we allow ourselves to change our image of a programmer to a much more colorful one.

Comments

topicTopics
academics MCAT study skills SAT medical school admissions expository writing English college admissions GRE GMAT LSAT MD/PhD admissions chemistry math physics ACT writing biology language learning strategy law school admissions graduate admissions MBA admissions creative writing homework help MD test anxiety AP exams interview prep summer activities history philosophy career advice premed academic advice ESL economics grammar personal statements study schedules admissions coaching law statistics & probability PSAT computer science organic chemistry psychology SSAT covid-19 CARS legal studies logic games USMLE calculus parents reading comprehension 1L Latin Spanish dental admissions DAT engineering excel political science French Linguistics Tutoring Approaches chinese research DO MBA coursework Social Advocacy case coaching classics genetics kinematics secondary applications skills verbal reasoning ISEE academic integrity algebra business business skills careers diversity statement geometry medical school mental health social sciences trigonometry 2L 3L Anki EMT FlexMed Fourier Series Greek IB exams Italian MD/PhD programs STEM Sentence Correction Zoom amino acids analysis essay architecture art history artificial intelligence astrophysics athletics biochemistry capital markets cell biology central limit theorem chemical engineering chromatography climate change clinical experience curriculum data science dental school finance first generation student functions gap year harmonics health policy history of medicine history of science information sessions integrated reasoning international students investing investment banking mba meiosis mitosis music music theory neurology phrase structure rules plagiarism presentations pseudocode sociology software software engineering teaching tech industry transfer typology virtual interviews work and activities writing circles