Thursday, December 4, 2014

CIS 120 Teaching Assistant, Bethany Davis



Here's a blog post from Bethany Davis:

It has been said that the best way to learn is to teach.  That is why I was so excited when I found out I was chosen to be a CIS 120 Teaching Assistant at the beginning of this semester.

My name is Bethany Davis and I’m a sophomore at SEAS studying Computer Science.  CIS 120, or Programming Languages and Techniques I, was the first computer science course I took at Penn.  During the first half of the semester, I learned my first functional programming language, OCaml, through a series of increasingly challenging weekly assignments that build off of previous concepts and syntax structures. The OCaml portion of the course culminates in a GUI project similar to Microsoft Paint.  The second half of the course transitions from OCaml to Java, and culminates in a largely self-directed project in which each student designs a Java game.  When I took the course, I built a version of the Snake game from scratch.  I found the course to be rewarding because I learned a new programming language, constantly challenged my programming abilities, and produced tangible projects that I could demo for my friends.

The spring semester of my freshman year, two of my hall-mates enrolled in the course.  I found myself staying up late to help them with the assignments.  I found it very rewarding to share my own CIS 120 experiences with my friends, and it was also very fulfilling to see the influence I had on my peers:  one of my hall-mates ended up declaring a minor in CS, while another hall-mate went so far as to consider a second major in CS.  I realized that I had a passion for spreading my love of programming to others, and I wanted to find a way to give back to the CS community at Penn, so I decided to apply to become a CIS 120 teaching assistant.  After an application and an interview, I was hired as a CIS 120 TA for the Fall 2014 semester!

The infrastructure of the entry-level CIS courses at Penn is very well established.  Every week, I attend a CIS 120 staff meeting to debrief on the previous week’s lecture concepts and assignments, review plans for the upcoming week, and discuss the overall trajectory of the course.  As a new TA, I also attend weekly TA training sessions with first-time teaching assistants and Head TA’s from the other entry-level courses.  During training sessions, we discuss a variety of topics ranging from how to best conduct a recitation to how to increase diversity within computer science.  Training sessions definitely help me think critically about my teaching and my role as a TA.

While it may seem that being a teaching assistant primarily entails helping others, I have found that my role as a TA has also been beneficial for my own sake.  As a TA, I am responsible for teaching a weekly recitation, holding weekly office hours, and grading students’ weekly assignments for style, testing, and efficiency.  Once of the most challenging (yet rewarding) parts of being a TA is helping individual students during office hours.  It is difficult to strike a balance between guiding a student towards the right answer while still allowing the student to solve the problem independently.  The most fulfilling part of being a TA is when I am helping a student in office hours and the student suddenly reaches that “AHA!” or “eureka!” moment of understanding.  Whenever I help a student reach this moment while solving a difficult problem, I am reminded why computer science is such an incredible field to be a part of, and why computer science sparked my interest in the first place.  Furthermore, although grading assignments can be tedious and time-consuming, I have found it to be very beneficial to my own journey as a computer science student.  Reading other students’ code allows me to visualize many different solutions and approaches to the same problem.  Additionally, when I am forced to be critical of other students’ code, it teaches me to be more critical of the code I write myself, and I have found that through grading poorly written code, I am inspired to write more readable, well-written code for my own assignments.  Finally, being a TA has helped me prepare for technical interviews.  It can be very challenging and uncomfortable to discuss algorithms and code segments with an interviewer, but because I get practice explaining algorithms and code during recitations every week, I have felt much more at ease whenever I approach questions in a technical interview.

I am grateful for the opportunity to be a teaching assistant even though I am only an undergraduate student in computer science.  While my role as a TA is primarily to teach others, I am also grateful for everything that being a TA has taught me!

1 comment:

  1. Thanks for such important information.keep up the good work.Ethical Hacking training is based on current industry standards that helps attendees to secure placements in their dream jobs at MNCs. Indian Cyber Army Provides Best Ethical Hacking Training in India.Indian Cyber Army credibility in Ethical hacking training & Cybercrime investigation training is acknowledged across nation as we offer hands on practical knowledge and full assistance with basic as well as advanced level ethical hacking & cybercrime investigation courses

    ReplyDelete