Software Initiatives

2020

My Start

In 2013, I had one of my first experiences with programming when I watched my 5th-grade classmate show off his Scratch program. After playing with Scratch and other coding websites, I learned the basics of JavaScript, but I only started diving deep into code when I started taking Java classes in 2017.

Club

Over the summer of 2019, this developing passion led my friends and me to start planning a software development club at our school. Our CS classes didn't teach how to develop websites, apps, and games, and since we were more interested in that side of coding, we figured many others would be as well. After hours of jokes and debates through texts and calls on Discord, we'd formed a basic plan for the club. Endless bullet points and dashes detailed our ideas on what we would do in meetings, how we would assess members' skill levels, and how the club would operate in general.

'Planning'

We walked into the first few meetings feeling relatively confident, but we soon ran into an issue: the number of students showing up was much lower than expected. With a smaller group, much of what we'd planned wasn't engaging, so we had even more discussions on how to change the meeting structure and activities. In the beginning, we had to make changes almost every week.

Volunteering

Near the end of our first semester, we launched HACK, a program where we volunteered to teach programming at nearby schools. To have more potential volunteers and increase the reach of the program, we decided to partner with the CS Club. At our first school, we started leading their existing coding club, which at the time had about six regular members. To our surprise, at the first meeting we held, students almost filled the entire computer lab of more than 30 seats! Soon after, we expanded our program to include another nearby junior high, yielding about the same number of attendees. The interest in coding was overwhelming, and seeing students' progress as lessons went on was heartening.

An unspoken core principle of our program was that we wanted students to be able to make things themselves. We felt they would benefit much more if they understood what they were doing rather than just follow along. Similarly, when we taught Java, we made sure to explain each concept step by step and give sample problems to practice. After one meeting when we started teaching game development, the teacher sponsor told us, "I'm so glad you guys are actually showing students how to code themselves." It turned out that the year before, a college student had gone to teach programming, but the students had mostly copied games off the internet.

'Coding'

Last summer, we continued to expand our service to the community, working with a non-profit organization to teach coding online. We considered teaching Java as we had done at the junior highs but realized that the bare Java console would probably bore students. This led us to pivot to JavaScript and teach something called p5.js, which we could use to create fun shapes, drawings, and animations. This way, students would be able to see programming concepts in action while staying engaged.

Reflections

From my experience in teaching coding, I've found that many younger students are interested in programming. As both the software development club and HACK continue to grow, I have learned not only about teaching and communicating clearly but also about effective leadership and overcoming difficulties. In the future, I dream of making a huge positive impact by launching and scaling a software product. These experiences have given me a valuable early start in knowing how to work with a team and persevere through hardships.