As a tutor for Programming 1 in my 3rd semester, I guided 1st-semester students through their first steps in the world of software development. In weekly exercise groups, I supervised all the coding assignments of the semester.
The focus was on conveying core concepts of the C language, from memory management to algorithmic efficiency. It gave me particular joy to facilitate “aha moments” for students regarding hardware-near techniques.
A classic example we used to illustrate bit manipulation was the XOR swap algorithm to swap two variables without using temporary storage:
// Swap a and b using XOR
a ^= b;
b ^= a;
a ^= b;
Besides technical training, the focus was on didactics: breaking down complex problems into understandable sub-tasks and establishing systematic error searching (debugging) as a tool. This not only strengthened the students’ foundations but also my own ability to communicate technical knowledge precisely.