Nikhil Cheerla and Vineet Kosaraju talk about their journey to introduce young kids to programming and how they were able to accomplish that with persistence and believing in themselves.
We live in a world surrounded by technology. The cool apps and games we download on our smart phones are ‘cool’ because of the computer programs running behind each of them.
Kids are so good at using any new technology within their reach. Even preschool kids know how to get their hands around tablets and laptops. But, is it good enough? Shouldn’t those kids be thinking about what is behind all these apps and software that make these gadgets so attractive? We somehow felt that kids these days are more focused on using all the fancy gadgets and apps than actually enquiring what is behind them.
That got us thinking more. We felt that computer science and programming should be part of early childhood education. Unfortunately, not may schools in the Bay Area offer coding as part of their curriculum. Why? Mainly, because the misconception we all have that programming is not fun. May be because we all think that programming means long lines of boring code with strict syntax and semantics. Well, that is not all that is to programming. The main part of any program is the algorithm the programmer comes up with on how to solve a problem. This thinking process is so important to develop in early childhood. Fortunately, there are visual programming languages like Tynker and Scratch that focus on this aspect of it. These programming languages have a wide range of characters to choose from and colorful blocks that kids snap together to make these characters do many things. Kids can create games, puzzles, stories and many more (including simple apps on smartphones) just using the visual programming languages.
(Above): Elementary school kids learning to code with Tynker.
Many kids go through elementary and middle school without knowing what a computer program is. By the time they are in high school, many of them hesitate to explore that field. As a result, many high school students graduate from schools without any basic knowledge of software or computer programming. Programming is a critical skill to have irrespective of the careers we choose. One kid told us once, “Well, I am going to become a research scientist in biology and I don’t need to know computers.”
Well, it is not exactly true. A scientist with programming background can do data analysis much quicker because he knows how to tell the computer to do the work for him. He can model the biological processes using software programs. Every person can benefit by knowing at least one programing language. We both learnt Java and started programming very early but we were fortunate to have parents who exposed us to online courses and other software for learning to code. Not many kids have this luxury. There are kids who probably don’t even have a computer at home or have a computer but don’t have proper guidance for learning coding. We wondered how we could help some of these kids who didn’t have the opportunities we did. We thought of starting clubs in our own schools, but both of us attend schools that have fairly good computer programming clubs, and we wanted our program to reach out to a wide range of kids, from elementary to high school who were never exposed to programming before.
(Above): Nikhil and Vineet teach Java at a local library.
After a while, we stumbled upon a flyer asking for volunteers at our local library to help with reading programs. Then the realization dawned on us. Why don’t we start teaching coding at the local libraries where it would reach a larger community? We wrote to a few libraries offering to teach coding classes, but most of libraries hesitated to take us in as we were too young to teach. Finally, Ms. Bricker, the librarian at Mountain View library called us in and asked us to start our program. We were very excited that we finally got a chance to kick-start our program. We spent the next month creating a curriculum for our signature ‘Coding For Kids’ program that uses visual programming languages to teach kids how to code. Our first few classes were a struggle but we quickly got the hang of it. Kids enjoyed creating games and puzzles. The workshop at Mountain View library was successful. Armed with some experience, we contacted other libraries and pretty soon we had several other libraries that were interested in our programs. We had a great summer introducing many kids to visual programing. We then created a curriculum for Java programming too as we noticed that older kids were getting bored of the visual programming after a few lessons. We were nervous before our first Java session as we had to teach kids who were almost of our age. But, it went pretty well. We realized that the programs are successful because kids latched on to them really quickly once we introduced these languages to them. Though it takes lot of time and effort to organize these programs, the joy we see in all these kids when they are playing with the games they have created or when they successfully compile that first Java program that plays the tic-tac-toe game, is what drives us to put in the extra time and effort to keep it going.
We hope we could continue to make impact in many kids’ lives with our MathAndCodingorganization.