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

The Girl Develop It non-profit organization hosted a 4-part Introduction to Python class at SmartBear Software in Boston — as a developer myself, here’s what I learned from being a TA!

Nnenna
codeburst

--

Introduction to Python — SmartBear Software x Girl Develop It

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 about 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.

Source — Lynda

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 for 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 in order for your program to run smoothly.

Source — Lynda

Students are looking to understand that you know exactly where they stand with their programming knowledge and skillset levels in order 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!

Source — Lynda

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

I think those types of questions everyday. It’s difficult 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 simply 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 are able to 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!

Girl Develop It is great about the aspects of increasing exposure of tech to women, from the networking events to Code & Coffee meetups to their hackathons. Exposure is truly the spark — the subtle catalyst — that opens doors for a future of a more diverse tech world.

Interested in knowing about more of the work I do? Follow me on Twitter, where I interact with the worldwide dev community! I’m also active on LinkedIn! :)

Happy coding!

✉️ Subscribe to CodeBurst’s once-weekly Email Blast, 🐦 Follow CodeBurst on Twitter, view 🗺️ The 2018 Web Developer Roadmap, and 🕸️ Learn Full Stack Web Development.

--

--

Software Engineer @OReillyMedia. @Google @WomenTechmakers Scholar. Resilient Coder. world traveler.