teachingalgorithmscareercomputer-science
Teaching Data Structures Made Me a Better Engineer
Two semesters as a Learning Assistant for intro programming and Data Structures & Algorithms taught me more about my own understanding than any exam ever did.
2 min read
For two semesters at Penn State I was a Learning Assistant - first for Programming & Computation (CMPSC 131), then for Data Structures & Algorithms (CMPSC 465). I signed up thinking I'd help other students. I didn't expect it to reshape how I think about my own code.
You don't understand it until you can teach it
The fastest way to find the holes in your own understanding is to watch a student hit them. I could use a hash map fine. But the first time a student asked me why collisions don't break it - and I found myself hand-waving - I realized I'd been treating it as a magic box. Explaining load factors and probing out loud forced me to actually understand the data structure instead of just calling its methods.
Debugging someone else's mental model
Helping at office hours is a debugging problem, but the bug is in a person's understanding, not the code. A student whose recursion "doesn't work" usually doesn't have a syntax error - they have a wrong mental model of the call stack. Learning to locate that gap quickly, without taking the keyboard, made me far better at reading unfamiliar code and asking the right question instead of guessing.
Simplicity is a skill you practice
When you explain the same concept twenty different ways to twenty different students, you learn which explanations land and which ones sound smart but teach nothing. That pressure - make it correct and make it clear - is exactly the pressure of writing good code comments, good PR descriptions, and good design docs. Teaching was reps for a muscle I use every day now.
What I carry into interviews
Most of all, being an LA made me comfortable thinking out loud about algorithms with someone watching - which, it turns out, is exactly what a technical interview is. I completed the theory in CMPSC 465; teaching it is what made it stick.
If you get the chance to TA or tutor a fundamentals course, take it. You'll help some students, and you'll quietly patch a dozen gaps in your own foundation you didn't know were there.