Mentoring the Next Wave of Developers
As an IT Tutor for the Fundamentals of Programming (PGdP) practical course at TUM, I was entrusted with guiding first-semester computer science students through the essential concepts of programming in Java. My primary goal was to cultivate a strong foundational understanding, foster problem-solving skills, and create a supportive learning environment for a group of approximately 30 students.
Key Contributions
My role encompassed teaching, assessment, and direct student support, contributing to both individual student success and the overall quality of the course.
Teaching & Mentorship
Led weekly three-hour tutorials, breaking down complex topics like data structures, algorithms, and OOP. I facilitated hands-on coding exercises and provided personalized guidance to help students overcome challenges.
Assessment & Evaluation
Assisted in the grading process for midterm and final exams, supporting fairness and consistency. I was also present in the lecture hall (Hörsaal) for exam invigilation (Aufsicht). The post-exam review (Einsicht) was fully online; I helped by checking student complaints/appeals and offering brief clarifications.
Curriculum & Topics Covered
I was responsible for teaching a broad curriculum that forms the bedrock of a computer science education. Some of the key topics included:
Object-Oriented Programming
Taught core OOP concepts, including classes, inheritance, polymorphism, and data encapsulation using UML diagrams and practical Java examples.
Algorithms & Data Structures
Guided students through essential data structures like arrays, linked lists, stacks, and queues, along with fundamental algorithms such as recursion and sorting.
System & Functional Concepts
Introduced practical skills in file I/O, streams, basic network programming with sockets, and essential developer tools like debugging and functional programming.
Skill Development & Impact
This experience was instrumental in refining my technical and interpersonal skills. By teaching others, I deepened my own mastery of computer science fundamentals.
Communication Mastery
Translated complex technical concepts into clear explanations that met students where they were.
Diagnostic Problem-Solving
Exposed blind spots in scheduling, memory, and concurrency by walking through proofs, exam scenarios, and concise C demos.
Leadership & Empathy
Cultivated a low-pressure, collaborative environment that encouraged questions and confident articulation of systems thinking.
Want to see more?
Check out the projects and resources I've built along the way.