Overview of the Course
What is the subject context of the course?
This course provides an introduction to computer science, with a focus on systematically solving problems with algorithms. It includes a significant programming part, using the language C++. This is an important language for mechanical engineers in many robotics and embedded applications, and C++ was used in most of the «focus projects» presented in 2025. The goal of a Focus Project is to develop and build a product over the course of two semesters. Students work in teams of five to ten students. Examples include «Swissloop» (transport capsule) and «Project Formula Student Electric» (race cars).
Main objective of this course: What should students learn and be able to do at the end of the course?
Students should have a good command of the mechanisms to construct a program in C++. They should know the fundamental control and data structures and understand how an algorithmic problem is mapped to a computer program. They should have an idea of what happens «behind the scenes» when a program is translated and executed.
Why was the specific assessment format chosen?
This format gives students the chance to show their programming proficiency in a more realistic setting, with a compiler and testing available. The alternative, writing code on a piece of paper that is graded by a human, is very different, and not a useful skill for later.
How are students prepared for the assessment?
During the semester, every week students solve exercise tasks on Code Expert, include programming and theory. Additionally, in the exercise sessions, student teaching assistants help students program more, and also give programming demonstrations. Lastly, all past exams are available to students, with automated correction mechanisms enabled, so that students can get immediate feedback.
Shared Experience
How many times has the assessment been conducted in this format?
The assessment has been conducted more than ten times since at least 2020, typically once every semester.
What contributed to the success?
High scalability, with now over 800 participants, and comparatively quick correction. Students have the benefit of seeing during the exam whether their code does at least mostly the right thing by running a test set that is different from the final tests but quite similar. Additionally, test-based correction is entirely fair and not subject to any grading bias.
What were the challenges and how were they overcome?
Tasks need to be very precise, and there is no possibility to make changes after the exam starts, unlike a paper exam where changes are not ideal, but possible. This requires multiple rounds of internal testing before the exam. Also, exam creation in general does take longer, but this is more than made up by the correction efficiency gained for large cohorts.
Are there any further developments planned?
- As the content of the course slowly changes, the exam changes with it.
- No major disruptive changes are expected in the near future because using Code Expert for the exam is working very well.
What tips would you give lecturers who are planning a similar assessment?
Test, test, and test your exam. Let doctoral or student teaching assistants solve the full exam, reporting any and all issues. Do this in multiple rounds.