Being a Computer Science Teacher

personaldev
10 min. read

As of writing this, I will complete my second year as the Computer Science Teacher in the Chicago Pre-College Science and Engineering Program. This will just detail my overall process, thoughts, investigations, and some foreshadowing in how I plan to approach my final presentation tomorrow.

Lessons from 1st Year

The job itself wasn't super difficult to come by. Last year I had took an interest in becoming a Camp Counselor or something, but I felt entitled to something more difficult given my unusual technology breath at my age. Most programs interviewed me then never send anything back because it was weird hiring a 16 or 17-year-old kid to teach a class of kids that were only a year or two younger than him.

Except for one.

My dad's fraternity brother was the Program Coordinator, and they needed an emergency fill-in for the Computer Science position. Perfect for me. I would be teaching a month-long summer camp of Rising 7th-9th Graders for a decent pay that wasn't super long and only required me to teach Monday through Thursday. The usual pool size was about 30 in total, split between three blocks across the day by grade level, and room for lunch. For the first year, we would be in the Rainbow PUSH Coalition, and I even got to meet Jesse Jackson's wife (briefly) and some of the people that marched with him. Seemed great.

Be Patient

As you can tell from the name, the program is located in the Chicagoland area. The program is also fully funded; parents sign up and show up, no cost to them. This combination of factors eventually led to some... interesting dynamics. Of course, I was paid, because it was a job, but you have to be patient with the kinds of kids you'd be working with.

The reality is that the kinds of kids that the kinds of kids whose guardians were attracted to the program were the kind that required you to spend a lot more time with them. Listen to what they're saying, hear what they are struggling with, and positively reinforce them when they succeed.

Now, if you know me, I'm quite animated in person. This frequently showed in my teaching style: a casual, careless teacher that actually cared quite deeply about what the students were doing and how they succeeded. So much so that I recognized when it was best for me to step away or even disengage completely, and let them figure it out on their own. I remember a moment in the second year, not the first, but still related, about how I just sat, watched, and answered questions during the escape room field trip we did at the university we were staying at this year (Chicago State University). It was hosted by a professor at the University of Illinois Urbana-Champaign, and he scolded me afterwards for not being a better role model. I took it with grace; perhaps my disengagement was too hard, but my competitive, over-involved nature would likely block the full puzzle-solving experience that the kids deserved themselves.

So not only do you have to be patient when you're teaching, you have to be patient with yourself, as well. Developers have a problem-solving mindset; it becomes difficult for us, especially those who are in the beginning stages of our career regardless of our level of technology knowledge, to recognize when it shouldn't be us who solve the problem.

Be Adaptable

Back to the first year at hand. The old instructor left me a set of Raspberry Pis to utilize as apart of my curriculum, which I largely planned around. Little did I know that there were only 9 Raspberry Pis; 5 actually turned on, and only 1 had a properly partitioned and imaged SD card to load the operating system. I spent a weekend bootloading the SD cards and manually setting them up by hand to make sure it was just a boot-and-execute experience, even teaching some of the kids how to use apt and sudo .

As for the rest of them, we had a handful of Chromebooks and MacBooks to utilize. The Chromebooks were discarded extras from a school that no longer existed, but whoever their IT department was forgot to release control of them, so one of their representatives still had to do it one by one, which would take some time. So I improvized and largely relied on the dual Raspberry Pi and Macbook usage.

Little did I know that someone communicated that I wasn't using the MacBooks and sent some students to take them - leading to a long line of frustration, yelling by my colleagues, and meetings with other camp leaders that eventually concluded in the IT guy finishing the Chromebook operations and me giving them up anyways.

Moral of the story: most conflicts, and especially people, are not actually malicious, and just stem from miscommunication. And being able to adapt mid-session helped save the camp.

Be Open

My proximity in age and animated personality allowed me to take criticism more softly. The feedback I received from the first year shaped how I taught this year. It was important to me, and important to them, as an African-American Black male working with largely other African-American, Black, and minority children from the rough parts of Chicago. Not to generalize or "dig," but the reality of the situation and the power I held as my role.

It made teaching fun, too. Exhausting as teaching middle schoolers are, when you stop treating them like malleable pieces of clay that should be shaped exactly like you and more like future young adults that just need some guidance, you start to enjoy it, and you become a better teacher as well.

One of my favorite parts of my first year was meeting Eva Giglio, the then Executive Director of the CME Group Foundation, the foundation wing of one of the largest trading firms in the world. She had a background in teaching at CPS and was impressed with my curriculum, as well as gave me good feedback to improve my style. As of writing I believe she has moved on to being the CEO of the Chicago Public Library.

Being open is also important as a developer as well. "It doesn't work on my machine" will always be annoying to year, but making someone else's day genuinely goes a long way.

Lessons from This Year

Ah, this year.

I did something different this year, mostly because 1) I was hired no longer out of emergence, and had more time to plan, and 2) Teaching 7th-9th graders the fundamentals of Java turned out to be a lot slower than I initially anticipated. That's another key point for developers, too: sometimes normies don't really understand technology, and some never will. You can do your absolute best and explain it 5 different times in 5 different ways, but it may just never click.

I first tried a pivot to website design with HTML, CSS, and JS. It seemed easier to understand, and required less of a setup to figure out. Little did I know that CSU was going to be stingy about computer credentials and I had to reuse Dr. Nancy Grim (the faculty who was sponsoring us, bless her so much)'s computer credentials for every student, every day. This made it impossible for anyone to save anything on the computer, because despite there being enough, they all were still on the same machine.

So, with the help of my Dad again, we hopped on a negotiation call with a guy at CodeCombat to see if I could get a license for a month. CodeCombat's business model was yearly renewals and targeted toward schools, and as of writing I'm still working on my business negotation skills and getting out of my raw engineering mindset. My dad was able to not only get us a deal, but apparently their marketing people can just... grant temproary licenses for free. So he gave me about 40 licenses until August (when the camp ends, which is actually in two days), and it worked perfectly.

The students got past the first module, CS1, with some resistance and largely plateau'd in CS2. Based on this feedback I decided to pivot to Intro to AI in the third week, largely because we had back-to-back field trips in the middle of the week and it was the shortest module I could use while justifying more use of the licenses he so graciously bestowed upon me. I did it in hybrid with some more slideshows, largely talking about the applications of AI and the applications of Computer Science across multiple interests, between nail art and political trackers.

I finished out with a google form that I posed as a final project - unknown to them, was actually the final bit of evidence I needed for my presentation tomorrow.

So, what am I gonna say Tomorrow?

Only about half of them actually finished the Google Form. CPS is stingy about completing forms outside of its domain, so some students who lacked proper google accounts couldn't finish it either. Some just didn't show up the last week. Others were just scrolling TikTok the entire time. I did my best to motivate and get them moving, and this was probably the best I could.

But that's apart of the presentation. Computer Science is genuinely difficult, and with kids like these, it was always going to be an uphill battle to keep them engaged, informed, interested, and genuinely curious. Half of the response were verbatim ChatGPT copy-and-paste - some not even properly copy and pasted - because I decided to introduce character count minimums inside the form. The point, which I will explain my motivations in the final section, is about how to make Computer Science more accessible and more involved to younger, less experienced people. We tried web design, we tried game mediums, we tried slideshows with videos and diagrams, and we tried literally just talking to an AI back-and-forth. What was going to work, and what was going to spark that curiosity in it?

The reality is that most of those kids will likely pick something else - politicians, lawyers, doctors, other engineering, art, or something else. Not only is that just statistics, but it also comes when parents force kids to be in summer camps that they themselves will largely resist. I can't call it "free babysitting" because that makes it sound like the parents are being malicious when they're not - kids are being kids, parents are doing their best, and the teachers must figure out how to best deal with that.

I'm going to say that Computer Science is hard, that it's a difficult field to get into, that the kids did their best, and that a lot burnt out toward the end because it was difficult. But that I was proud of them for trying, for sticking with it, for at least pretending to take an interest to something that I spend so much time around, and to helping me figure out how to connect Computer Science and Psychology.

The True Motivations Revealed, and the Conclusion

Wrapping up here.

As I've written before, I'm going to Dartmouth College to double major in Computer Science and Psychology. I want to focus on the Mental Health and Loneliness Epidemic (now recently being rebranded as an "isolation" epidemic, though loneliness sounds more pressing) and think about how Computer Science can be a medium to help.

Part of that analysis in figure out how to combine the two is to figure out what other mediums the combine with, and looking at them separately as well. It's like a stress test, especially since I leave for college in about a month. What is the Psychology of trying to learn Computer Science? How does this apply to young people? How can we make sure that Computer Science is open to everyone else? Is the mental health and loneliness epidemic really the most important thing right now?

I'm going to include that apart of my presentation as well because I think it's important to understand and contextualize before I begin my presentation and Claude-outputted visualization of the form responses for everyone to see (yes, the parents and everyone may see student gibberish and Claude may be blunt in calling them out, but I'll do my best to soften the blow). If I think this is the best path for me in tackling this crisis, I should at least stress-test the fields and see if I have any strong feelings in a different direction.

Until next time.

Copyright © 2025 NuxtPress. All Rights Reserved.