Teachingimpact

Teaching Assistant
University of GroningenGroningen, NLJan 2023 – Jul 2024
Teaching assistant across seven undergraduate Computer Science courses at the University of Groningen, spanning the formal, systems, and applied sides of CS.
Stack
- C
- Java
- Python
- Haskell
- Git
Context
Teaching assistant across the BSc Computer Science programme at the University of Groningen, picked up after excelling in the same courses as a student. The seven courses span the formal, systems, and applied sides of CS.
- Program Correctness — Hoare logic, weakest preconditions, loop invariants, formal verification, proving programs correct
- Advanced Algorithms & Data Structures — graph algorithms, dynamic programming, greedy algorithms, complexity analysis, NP-completeness
- Functional Programming — Haskell, higher-order functions, recursion, type systems, lazy evaluation, algebraic data types
- Advanced Object-Oriented Programming — design patterns, inheritance hierarchies, SOLID principles, refactoring, concurrency in Java
- Web Engineering — full-stack web development, frontend/backend architecture, REST APIs, databases, deployment
- Signals & Systems — signal processing fundamentals, Fourier transforms, convolution, sampling, system modelling
- Computer Networks — layered protocols, OSI and TCP/IP stacks, routing, packet switching, transport-layer reliability, network security
Responsibilities
- Teach material in tutorial sessions of 25+ students each, walking through exercises, clarifying lecture content, and preparing students for their exams.
- Run weekly office hours for one-on-one help.
- Grade homework and exams across all seven courses.
- Help prepare and update course material.
What I'm taking forward
Teaching the BSc curriculum back to students is what made the fundamentals stick. Walking through proof obligations, recursive algorithms, and networking protocols at tutorial pace asks for a deeper grasp than passing the exam did.