Overview
Teaching Assistant (ACDC) at EPITA, in charge of first-year students
("prépa") in the C and Python programming courses. A 10-month mission from
September 2025 to July 2026, combining pedagogy, technical supervision and code review.
10
Months
2025
Sep → Jul 2026
C
Systems
PY
Python
Context
At EPITA, first-year ("prépa") students go through an intensive program where they learn programming
fundamentals in a matter of months. The ACDC (Assistants de Cours et de Développement pour les
Connaissances) are senior students whose role is to bridge the gap between the professor and the
students — helping them stay on track and actually understand what they're doing.
Tech Taught
C
Memory, pointers, low-level
Python
Algorithmics, scripting
Missions
Teaching
- Explaining the fundamentals of programming and algorithmics.
- Running tutorial sessions on C and Python.
- Breaking down complex concepts (pointers, recursion, data structures) into simple, tangible
examples.
Code Review
- Reviewing student code and enforcing the EPITA coding standard.
- Pointing out memory leaks, undefined behaviors, and logic flaws.
- Giving constructive feedback that helps students improve, not just fix.
Debugging Assistance
- Helping students use tools like
gdb, valgrind, and gcc
warnings effectively.
- Teaching them how to find the bug, not just how to fix it.
- Guiding them through the reasoning process step by step.
Evaluation
- Evaluating student projects and exams.
- Ensuring fair and consistent grading across groups.
- Providing feedback to the teaching staff on student progress.
Supervision
- Monitoring students during practical sessions and exams.
- Maintaining a focused and respectful working environment.
- Being a reassuring presence for students in difficulty.
What I Learned
Soft Skills
- Pedagogy: explaining a concept five different ways until it clicks.
- Patience: not everyone learns at the same speed, and that's fine.
- Empathy: remembering what it felt like to be a lost first-year student.
- Communication: adapting to different personalities and levels.
Technical
- Deepening my C skills: teaching forces you to fully understand what you explain.
- Tooling: getting truly fluent with
gdb, valgrind,
make, and the compilation chain.
- Code quality: reading hundreds of different student codes makes you hyper-aware
of bad patterns.
Why This Experience Matters
Being an ACDC is one of the most formative roles for a computer science student. It forces you to
truly understand what you thought you knew, and it builds a level of clarity and
precision in your explanations that no personal project can replicate. It also teaches you something
essential: how to be useful to others without doing the work for them.