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 study skills MCAT medical school admissions SAT expository writing college admissions English MD/PhD admissions strategy writing LSAT GMAT GRE physics chemistry math biology graduate admissions academic advice ACT interview prep law school admissions test anxiety language learning premed MBA admissions career advice personal statements homework help AP exams creative writing MD study schedules computer science test prep Common Application summer activities history mathematics philosophy organic chemistry secondary applications economics supplements research 1L PSAT admissions coaching grammar law psychology statistics & probability legal studies ESL CARS SSAT covid-19 dental admissions logic games reading comprehension engineering USMLE calculus PhD admissions Spanish mentorship parents Latin biochemistry case coaching verbal reasoning DAT English literature STEM excel medical school political science skills AMCAS French Linguistics MBA coursework Tutoring Approaches academic integrity chinese letters of recommendation Anki DO Social Advocacy admissions advice algebra artificial intelligence astrophysics business cell biology classics diversity statement gap year genetics geometry kinematics linear algebra mechanical engineering mental health presentations quantitative reasoning study abroad technical interviews time management work and activities 2L DMD IB exams ISEE MD/PhD programs Sentence Correction adjusting to college algorithms amino acids analysis essay art history athletics business skills careers cold emails data science dental school finance first generation student functions information sessions international students internships logic networking poetry resume revising science social sciences software engineering tech industry trigonometry writer's block 3L AAMC Academic Interest EMT FlexMed Fourier Series Greek Health Professional Shortage Area Italian Lagrange multipliers London MD vs PhD MMI Montessori National Health Service Corps Pythagorean Theorem Python Shakespeare Step 2 TMDSAS Taylor Series Truss Analysis Zoom acids and bases active learning architecture argumentative writing art art and design schools art portfolios bacteriology bibliographies biomedicine brain teaser campus visits cantonese capacitors capital markets central limit theorem centrifugal force chemical engineering chess chromatography class participation climate change clinical experience community service constitutional law consulting cover letters curriculum dementia demonstrated interest dimensional analysis distance learning econometrics electric engineering electricity and magnetism escape velocity evolution executive function freewriting genomics graphing harmonics health policy history of medicine history of science hybrid vehicles hydrophobic effect ideal gas law immunology induction infinite institutional actions integrated reasoning intermolecular forces intern investing investment banking lab reports linear maps mandarin chinese matrices mba medical physics meiosis microeconomics mitosis mnemonics music music theory nervous system neurology neuroscience object-oriented programming office hours operating systems