Sixteen students, thirty hours—a week-long adventure in computer programming

By James Mishra

During the summers of my elementary school years, I would take week-long classes at a local community education summer program.

Between third grade and eighth grade, I learned an incredible amount of information about photography, animation, public speaking, and an assortment of other subjects.

When I became too old for the classes, I did not forget what I learned. I kept the base of technical knowledge I had gained and stayed in contact with many of the friends I had made.

After I turned 18 in December 2012—set to have half of a Computer Science degree by the time I graduated high school in June 2013 —one of my former instructors suggested that I could teach a computer programming course at GTI. There had always been demand for such a course, but the program had trouble finding a qualified, interested instructor.

In January, I filled out a form to propose a computer programming class. A month later, I was notified of the proposal's acceptance. My class would run from June 17th to the 21st.

I spent the time between February and June agonizing over the details of my course. I decided that I would begin the course by teaching MIT Scratch, an educational software package that represents common computer programming constructs as Lego-style blocks.

I planned that, after my students would gain a basic understanding of computer programming concepts through MIT Scratch, they would move onto re-learning those same concepts in Python—giving them the capability to write real-world computer programs.

Using MIT Scratch, I taught the following Computer Science concepts:

To my delight, the students learned at a lightning-fast pace. They were absorbing information about computer science concepts such as recursion faster than my counterparts in freshman-level university computer science classes. I had to adjust my lesson plans to give my students more new material.

In addition to the above concepts, the students learned the following in Python:

In Python, the students created projects resembling the following:

At the end of the class—a short 30 hours of instruction—it was clear that the class was a success. The students were delighted with the amazing amount of information they learned; the parents were shocked at the newfound capabilities of their students; the GTI staff were impressed with my teaching abilities and the students' enthusiasm for the subject; and the St. Paul Pioneer Press covered my class in a broader article about summer programs.

Unfortunately, as much as I want to, I will not be available to teach this class again. I will be working as a software engineer in Baltimore, Maryland in Summer 2014 and beyond. Nevertheless, I will continue to seek teaching opportunities in my career.