Learning by Teaching

August 8, 2016
Reading Time: about 6 minutes

ECS 197 - Tutoring Computer Science

Tutoring is a great opportunity available for undergraduates. It allows you to learn about the different challenges various endure taking classes, refreshes hopefully important material in your mind, and enhances your ability to synthesize and communicate ideas in a digestable manner.

In learning you will teach, and in teaching you will learn - Phil Collins

In my time spent tutoring, I revisited basics and taught strong foundational ideas to a wide variety of peers, helping them succeed in their classes. From a young age, my father drilled into my mind that understanding the purpose of somethings’ existance is key to learning it as a whole; this is something I absolutely live by today. During my time as a tutor, I found that this helps others learn increasingly quickly as well. Rather than spending time memorizing algorithms and data structures, understanding and improving on implementations for certain use cases allows the student to think for themselves and rediscover the answer for themselves during the test, and for future projects as well.

The next lesson I learned is that it is incredibly obvious when a student is learning to learn, or learning because they think they should, or ‘learning’ to finish an assignment. People who thought for themselves could grasp new ideas with little guidance while others who were merely seeking to finish homework often skipped the concepts while asking me to “show them how to solve it” with a homework problem as an example.

ECS 198 - Cryptocurrency Technologies

During Winter Quarter 2016, my friend and mentor Rylan Schaeffer reached out to me asking if I would be willing to teach. He’d previously suggested that I do so, but I was always hesitant - what if I didn’t know enough? What if they didn’t respect me? How would I even begin getting the faculty to trust me with an entire class? To be honest, I never even seriously considered teaching more than 10 people at a time, let alone planning and executing an entire class. That winter however, I knew his was an offer I couldn’t pass up. He’d previously taught two classes and created policy along with his friend for student-led courses at Davis. Not only did he know the ins and outs of creating a class, he was also well aquainted with the vast majority of Computer Science faculty. I could talk for several hours about the preparation, discussions, and thought processes involved from start to finish, but I’d like to focus on what I learned.

During one of the meetings with faculty, one professor brought up the problem that our subject matter (Cryptocurrency Technologies) was rather complex and the minimum for teaching at a university was a Master’s degree. We had neither the breadth nor the depth of knowledge needed. However, another spoke up in our defense, recalling his habits for teaching ECS 30, an introductory CS course at Davis. He mentioned that he had often reviewed and relearned the material a few days before each lecture. Correspondingly, there would be no significant discernable difference if we had learned the material a few days prior or had years of experience.

Rylan Teaching
Rylan Teaching RSA for ECS 198

Rylan and I normally held office hours after class at the MU, a nearby hub on campus with food and open seating. Last year when I took Rylan’s class, this was by far my favorite part. Now on the other side as an instructor, having others look to me to see what to do even in small groups was a new experience altogether as people came up to me asking me for advice on not only course materials, but other advice as well regarding classes, career options, and greek life.

Several lectures in, there was a clear divide in the class between those genuinely interested in Bitcoin and the surrounding concepts and those who were only present for units. Admittedly, rediscovering that others could have such little interest in something I found particularly interesting was mildly disappointing.

Elementary Institute of Science

For the outreach event at my Teradata internship, we visited the Elementary Institute of Science (only four miles from the famed Tacos el Gordo!) to teach kids from 8 - 13 about a variety of CS related topics. With my interest in security, my group chose to teach cryptography. During the preparatory stages, we feared that cryptography and rotating the alphabet as in the Caesar Cipher would be too difficult for young children to grasp. This rung true in the first of four groups - the 8 year olds. We took the entire alotted time explaining the basics, then asking each to try decoding an encrypted “fqp x pbzobq ql bsbovlkb” with a rotation of 3. Several took several minutes to write the alphabet, and one continuously tried to open Sketch on the computer. When he finally grasped the core ideas, he did rather well until he made a mistake at which point he promptly gave up. Several minutes later, he then boasted to me that he could do anything on the Computer, then sheepishly defended that his teacher hadn’t taught him everything when he couldn’t open up email. I wish I had that confidence.

The next group was drastically different - as 13 year olds, they grasped ideas almost instantly and solved the original puzzle before I had even finished explaining. At this point, I asked them to consider how to break the Caesar Cipher, which took a grand total of 5 more seconds. At that point I introduced the Vigenère Cipher, which interested them much more greatly as several sat up straighter in their seats. It’s surprisingly obvious which students learn faster than others, as in this group we had one student who easily breezed past using bigrams and frequently analysis while others struggled on understanding the newly expanded keyspace.

Finally, the last group was 10 year olds. As expected, they grasped the material more quickly than the 8 year olds, but took several minutes more than the 11-13 year olds to break the puzzle. I was surprised however, by the accuracy with which others describe age groups. Although the 10 year olds learned rather quickly, they were also much more rebellious, often preferring to make comments such as

So you’re teaching us to pass notes so our teacher can’t read them?

Overall, it was a great experience. Recognizing the different abilities and personalities of students is astoundingly straightforward, and I learned a great deal about working with kids. Above all, I now have much greater respect for elementary and middle school teachers.