Teaching Assistant
Teaching assistant for seven CS courses at the University of Groningen, covering algorithms, OOP, web engineering, signals & systems, software engineering, and scientific computing.
- ▸TA for 7 courses across algorithms, OOP, web engineering, signals & systems, and more
- ▸Ran tutorial sessions, designed assignments, and graded exams
- ▸Mentored 100+ students with diverse backgrounds and experience levels
- ▸Consistently received positive student feedback
Context
During my Bachelor's at the University of Groningen, I was a Teaching Assistant across seven different computer science courses over about 15 months. It was a lot of variety — from first-year introductions to more advanced topics.
Courses
- Advanced Algorithms and Data Structures — graph algorithms, dynamic programming, complexity analysis, NP-completeness
- Advanced Object Oriented Programming — design patterns, inheritance hierarchies, SOLID principles, refactoring
- Signals and Systems — signal processing fundamentals, Fourier transforms, system modeling
- Web Engineering — full-stack web development, frontend/backend architecture, APIs
- Problem Analysis & Software Design — requirements engineering, UML modeling, design methodologies
- Software Engineering — software development lifecycle, testing strategies, team collaboration
- Introduction to Scientific Computing — numerical methods, data analysis, computational problem-solving
What I Did
- Led weekly tutorial sessions (15–25 students per session)
- Designed practical programming assignments with test suites
- Graded exams and assignments with detailed written feedback
- Held regular office hours for one-on-one help
- Contributed to course material updates
What I Learned
Teaching is genuinely the best way to learn something properly. When a student asks "but why does it work that way?" you can't hand-wave — you have to actually understand it. That forced me to get much sharper on fundamentals I thought I already knew.
The other big thing was learning to explain the same concept five different ways depending on who I was talking to. That skill transfers directly to code reviews, documentation, and working on a team.