May 14, 2018

What I Learned From Being a TA for an Intro to Python Class

Volunteering has been something I’ve been doing since I was in high school. I volunteered in spaces that truly resonated with me, my passions, and personal mission. I am a proud volunteer for Girl Develop It’s Boston Chapter, and I try to engage with the communities locally to provide opportunities to get more girls and women exposed to technology and the diverse array of career opportunities within it. Outside of my markup language skills in HTML5 & CSS3, my technical skills consist of Python and JavaScript (and both of their varying frameworks).

Here’s what I’ve taken away from my most recent experience as a Python TA.

1. You are only as helpful as your lingual accessibility to your non-technical counterparts.

Speaking of code and pair-programming with beginner Python being the reference point, I had to tailor my language when providing tips to the class as they took developing programs into their own hands. There had to be a healthy combination of two concepts, interweaving throughout the learning and applying ‘as-you-go’ journey. Those two concepts were: 1. Providing insight on general programming rules and 2. providing insight on Python-specific syntax and Python-specific development environment requirements.

2. You know a lot more than you realize you do.

There are a lot of questions that the Python students asked me that, as I replied, I realized my answers were so automatic and well-understood to me. I found myself having to explain the reasoning behind certain Pythonic conventions.

Helping people to understand vital concepts like what differentiates certain data types and structures (e.g., strings and numbers, or floats and integers, lists and dictionaries, etc.) helped me to understand that building on top of concepts gradually is how many people will be able to grasp and, thus, execute, effective code. As much as I wanted to skip to how the functions for their programs were supposed to be set up, I had to make mental notes of their expectancy of the program’s efficiency. From there, I learned how to tailor my responses to helping students solve many of the errors they were running into when running the program from their terminals.

Sometimes, the fundamental programmatic concepts are what people need the most help understanding, as it allows them to write out their program with more intention, fluidity, and creativity.

It also allows them to ask questions about design relevancy, best programmatic practices, and best optimization methods specific to Python’s available modules. From the difference between the text editors and the power shell, the Mac terminal and the Windows command prompt, file organizational practices, variable naming awareness, commenting practices to help oneself, and a user experience that holds some longevity so as to provide the perspective in the code over time; all of this was part of the learning experience on both the students and teachers’ parts! Think about all of that! That’s incredible and so enriching! It’s also slightly intimidating, but that’s the beauty of rigor in learning new things.

3. Empathy is as essential as having a required module imported for your program to run smoothly.

Students are looking to understand that you know exactly where they stand with their programming knowledge and skillset levels for you to facilitate them in a way that is most efficient and conducive to their learning process.

Listening to their frustrations helps you tailor how to respond to their interest in your opinions and suggestions!

They know you’re there to help! Making them feel like they’re in a comfortable enough environment to ask questions, no matter the level of complexity optimizes the overall experiences of the students!

4. Bringing relevancy to the code is more important than actually writing a single line of it!

I received questions like, “I understand this, but what is the real point of it? How can I apply it? How does this make sense and matter for me in the real world?

I think those types of questions every day. It’s challenging to answer perfectly, but since Software Developer skills are in high demand, there is proof that companies have found them incredibly crucial and significant, right? However, there lacks visible continuity when moving forward beyond the scope of merely writing some lines of code, as it relates to how coding and the real world all tie in together. The full circle idea is that people can build programs that can solve problems, from minor and trivial to world-changing technologies that can save lives or pioneer explorations. The chances of that being fully grasped by the end of introductory Python tutorials may be shaky, but I am always pleased to see more women gaining that exposure to the development of technology that they may not have entertained before or have known to exist!

Nnenna Ndukwe

Software Developer @ Bison. @Google @WomenTechmakers Scholar. Rewriting the Code 2018 Fellow. Resilient Coder. world traveler.

Leave a Reply

Your email address will not be published.