As a Computer Science major, it’s no surprise that I love to code. However, this wasn’t always the case…
My first CS experience fell completely flat. Without a mentor or guidance, I thought that coding “wasn’t for me”. Since then, the tables have certainly turned.
Now, as a kids coding tutor with Breakout Mentors, I’ve only increased my love for coding. I continue to learn what is possible with creativity and new platforms like Scratch. Working with younger students, I am always inspired to see how talented and creative they are, and I am thrilled to show them what I wish I had known when I was their age.
An Early Love of Math
As early as I can remember, I was very strong in math. I competed in math tournaments at Stanford, MIT, and CalTech, and in my senior year of high school, I even hosted my math tournament for elementary and middle school students!
At the tournaments I competed in, hundreds of students from across the country would participate as teams in a variety of “challenges”; these challenges consisted of timed exams, and individuals’ scores would be aggregated to form their team’s overall score. It was a fun way to keep advancing outside of the classroom and also provided an outlet for academic exploration.
I also challenged myself by taking a wide range of course outside of my high school, including calculus, number theory, and probability. Eventually, I stumbled upon an AP Computer Science MOOC (massive open online course) my sophomore year of high school, through which I learned the Java programming language.
An Underwhelming First Impression
While I certainly never disliked the AP Computer Science course, at times, I found it–dare to say–boring.
The AP curriculum emphasized what I would call CS “vocabulary”: memorization of rules and concepts that are not necessarily useful in day-to-day coding to bring a project to life. In addition, when we finally started making more interesting applications in the second semester of the class, it often felt contrived. They were not projects that I found relevant to the world around me.
The result? I felt disinterested and didn’t realize the true power of Computer Science. I thought it wasn’t for me and that I should “just stick with math”.
The Right Instructor Would Have Made the Difference
Looking back, if I had an enthusiastic role model, I would’ve had a different opinion. I have decided, after all, to major in Computer Science! It took a little pushing and the guidance of kind, knowledgeable mentors to help me see that I could do more with code than just print dates; I could build operating systems, websites, and servers!
I realized this after taking the first two CS courses at Stanford, led by incredible professors and supported by meeting weekly with the same teaching assistant. Finally, the code I was writing could do incredibly powerful things and make meaningful contributions. Of course, I knew that my computer was built on an operating system and that people created and coded it, but I never realized that building this complex software was something I could do.
I finally had teaching assistants, mostly graduate students, that I could approach with questions and any curiosity. It was through their help that I began to understand what I was capable of. Since then, my code has become more complex and integrated with the real world. I’m immensely grateful for my time in college with mentors who helped me fall in love with CS.
Kids Can Learn Problem Solving Through Coding
Coding is an incredible tool, especially when you break away from rote memorization.
It teaches you how to approach problems; very rarely can you look at a problem and immediately know how to solve it from start to finish, but as you break it down, the coming steps become increasingly clear. This concept of decomposition is how students create more involved projects and grow as computer scientists.
They may not be immediately able to lay out a solution in code (sometimes, even I can’t immediately foresee every step!), but they become increasingly able to take ownership of a problem and break it down into a manageable and fun process.
Scratch as a Powerful Tool
Scratch is an exceptional drag-and-drop platform for this work, as I realized through becoming a Breakout Mentor. It makes creating visually intriguing projects easy, as it was designed for beginners to focus less on syntax and more on the fundamentals of programming logic.
The user interface is very intuitive and presented in a very colorful and well-designed way. Code blocks are like puzzle pieces, where shapes and colors are intended to suggest how commands should be used about one another. Though it is primarily intended for younger students, it is quite powerful and allows for an enormous variety of project implementations and, of course, a lot of learning. It is impressive to see logical concepts I am familiar with from university-level courses presented in a kid-friendly manner.
Computer Science as a Creative Outlet
As a one-on-one mentor for four kids, it is exciting to see them have these revelations and their pride in their work.
The projects we create together are always fun, from digital Ping Pong to a keyboard version of Guitar Hero. Students can build something that they are not only proud of, but are very excited to use. They realize the games they enjoy on their iPads and computers they can create and customize!
Programming might not strike you as an outlet for children with huge imaginations or a lot of energy, but our students quickly realize that almost anything is possible, especially with a platform like Scratch! If you love to play Slither.io, why don’t we make our version? If you love digital drawing, why don’t we create interactive animations? We can always take excitement for games and ideas and turn them into something tangible.
Balancing Fun and Learning
Through this process, the learning happens naturally. These games always involve movement, repetition, and doing something when objects collide, so we often return to the same programming logic. Students become increasingly comfortable using the fundamentals they continue to encounter, and the mentor can introduce new challenges as they are ready.
Rather than approaching coding as rigid or structured (like focusing on memorizing concepts in AP Computer Science), students excel with a project-based approach (I mentioned how Scratch is excellent for this). Once they’ve mastered the process of turning ideas into step-by-step implementation, they can continue to advance by moving to languages like Python and Java, which are some of the most commonly used in computer science applications in industry.
I continue to be impressed with how quickly students can pick up these logical patterns, and I think the students realize that they are also quite capable. They have a lot of imagination, and together, we can develop the power to bring their imagination to life with code. It’s confidence-boosting, educational, and fun–exactly what any kid’s learning experience should be.
By meeting one-on-one, Breakout Mentors is able to do what my introductory classes did for me–show how to approach coding while also allowing creativity and curiosity. I’m happy to be able to provide that mentorship to kids since I know it is essential for success!
Interested in learning more? We are lining up kids to start with a coding mentor, so contact us today.