My Experience Teaching Computer Science

Parker Sewell
3 min readMar 28, 2016

--

Over my spring break, I did something that I loved — no, I didn’t go to a wild beach party. Instead, I had the great satisfaction of teaching middle school and high school students in my rural hometown in northeast Texas some of the ins and outs of computer science. It is a Title 1 school district. I covered the programming language Python because a) it is the language I know best and b) it is a great first language to learn. I took this initiative because I am a firm believer that all students should learn computer science. Although perhaps not for the technical skill behind it, everyone stands to benefit from learning how to think logically, which computer science undoubtedly teaches. Society is in desperate need of more logic. Think about the current presidential election — some voters think building a wall between the US and Mexico and banning Muslims from entering the country will give them more economic mobility, than would a higher minimum wage coupled with more affordable education and healthcare. You can never have too much logic.

There were three middle school students and six high school students who attended the class. I was impressed with how quickly the students — especially the middle schoolers — grasped onto the language. I opened class every day with a recap of the day before and a logical riddle (the kind you hear about from tech company interviews). I moved on to a lesson with examples, then a hands-on lab, and finally an independent coding assignment. We always built on what we had done the previous days. I was very impressed with how quickly these students learned, and it only reaffirmed my belief that we need to be teaching computer science to all students.

The school district provided Google ChromeBooks and we used a class Google account. We used a free Chrome App Python IDE called “Python Editor v5.” It was in beta and had issues with the eval function, but besides that, it worked well. Students stored their code in individual folders in Google Drive. They also accessed pre-class resources like readings and tutorials via Google Drive. (I should say they were supposed to access these resources. They were supposed to actively take a part in the “flipped classroom,” but it seems they were not fans of it.) Students also took post-class surveys to give me feedback so I could improve. I think this is a nice, replicable model, but I’m sure it can be improved.

The class atmosphere was fun and welcoming. I played music when students streamed in and I talked with them about their day. I tried to incorporate futurist/entrepreneurial discussions into the lessons if I had time. For example, at the end of class one day, I played a video on bioinformatics. It’s fascinating stuff. We briefly had a discussion on bioethics and the consequences of industry-disrupting “life code.” It was really quite humbling to see them think about things they hadn’t thought of before.

Overall, the course went very well. This is something I would do again and it is something I recommend to technical professionals and current computer science students. We know how important and valuable these skills are. We know that computer science teaches people how to think. We also know that schools like this one lack resources — and will continue to lack resources — to run a full coding program for its students. We need to step up and give back to our communities but we also need to demand more leadership from political leaders when it comes to computer science education. (We are *kind of* in luck, as computer science is already something that has widespread bipartisan support.) We all recognize the importance of computer science education. We also recognize the effects of people not having these skills (exacerbated income inequality, a decrease in innovation, more jobs being outsourced, etc.) The time for us to work together and bring our education system into the 21st Century is now. It is time for #CSForAll.

--

--