Advanced Programming Teaching Assistant Experience 2025 Spring

Aug 13, 2025 · 3 min read
blog

Last semester, I had the honor of being present as one of the teaching assistants and supervisors of the “Advanced Programming” course of Dr. Qhatee and Dr. Behnam Yousefimehr.

In this semester, we tried to improve the learning process of the students by making changes in the teaching structure of this course, including exercises, and preparing documents for all topics. We wrote more than 700 pages of documentation on working with Java and object-oriented programming, as well as some more advanced topics such as git, version control, data structures, and algorithms, so that the students both have a glimpse of their future lessons and are ready to program small but complete projects. In addition to these, we were able to prepare complete documentation and exercises for working with the MySQL database and Java ORM, Hibernate, so that we use these tools to the fullest in our end-of-semester project.

In addition to the educational materials, we were able to hold 14 weekly and face-to-face workshops for 74 students of this course, and we were able to solve the problems of the taught topics and answer the students’ questions. The exercises were later corrected in an anatomical manner with the help of the teaching of the lesson assistants and were placed with textual feedback for the students. With the aim of reducing the cost of making mistakes in the learning process, we allowed children to learn from their mistakes and become better programmers as much as possible.

We used a GitHub repository for the process of writing and polishing the documents, making the course material of this semester available, and ready to edit for anyone who needs it! You can access the repository through this link.

Our goal is for the documents of this course to be reviewed and improved by the teaching assistants of that semester each year, and ultimately become a dynamic resource for the students of this course, and anyone who wants to learn Java and object-oriented programming.

I would like to thank the professors of this course, Dr. Mehdi Ghatee and Dr. Behnam Yousefimehr, for giving us the opportunity to do all of these. I am also grateful to the last year’s teaching assistants for helping us with our planning, especially Parsa Khadem and Sina Moradi, who were always present and we could get advice from them wherever we had problems. But all of this would not have been possible without our team, and in the last semester, a team of 20 undergraduate students was involved in this process, and without their efforts, none of these tasks would have been done. I would like to thank Arman Hosseini, Amir Mohammad Zaker, Amin Rezaeimehr, Ilya Asadi, Parya Ashabi, Sam Ghorbani, Sania Ezzati, Shahabuddin Garevani, Saleh Mollazadeh, Ali Tofighi, Fatemeh Vaziri, Kiana Pahlavan, Kiana Razavi, Mohammad Hossein Hashemi, Mohammadreza Sheikholeslami, Mehdi Jafari, Nastaran Afsari, Hooman Hamidipour, and Younes Kazemi for all their hard work this semester.

Pedram Esmaeilpour
Authors
B.S. Candidate in Mathematics and Applications
I’m a mathematics undergrad with a growing interest in computer science. I enjoy solving problems, writing code, and helping others untangle tricky concepts—every experience is a chance to learn something new.