Skip to content
All Experience
University of Groningen
University of Groningen·Groningen, Netherlands

Teaching Assistant

·Teaching

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 seven CS courses across algorithms, OOP, web engineering, signals & systems, and more
  • Ran tutorial sessions, designed assignments with test suites, and graded exams
  • Supported 200+ students over about 15 months, from first-year introductions to advanced topics
  • Selected to TA Advanced Object-Oriented Programming after performing well in the course the year before
Technologies
JavaPythonC

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 one of the best ways 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.