Examination in Moodle Using the C++ Environment with Code Expert
During the semester, students can already demonstrate their skills in Code Expert through exercise series. By doing so, they can earn a bonus of up to 0.25 points towards their final grade.
All Course Assessments
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.
Course Fact Sheet
Competencies Fact Sheet
Assessment Fact Sheet
(Feasible for 100 - 800)
The reason for the feasibility for 100 – 800 candidates:
- The upper limit of 800 is determined by the room capacity constraints of ETH. From a purely technical standpoint, the number of exam participants could be scaled up further.
- A repetition exam was already conducted with 20 students. However, this is not recommended because the effort to design and implement an exam is ideally based on a minimum of 100 students.
Bonus system
- To obtain the bonus for the final grade, students must complete at least two-thirds of the weekly exercises. This unlocks access to the bonus exercises.
- If at least two-thirds of the bonus exercises are also completed within a certain amount of time, students will be awarded a bonus of up to 0.25 points toward their final grade.
- All exercises are initially graded automatically, with additional feedback and explanations provided by Student Teaching Assistants.
Resources
Session examination: ETH computer rooms
‘Exercise series’: normal rooms
‘Exercise series’: BYOD
Code Expert
- An online IDE (Integrated Development Environment)
Moodle
The following Moodle question types are used:
- External question type (Code Expert)
- Embedded answer (Cloze)
- Multiple True False (ETH)
- Single Choice (ETH)
- Short answer
- True/False
Safe Exam Browser
Summary (cheat sheet) written by the students themselves (maximum 4 A4 pages)
Grading and Feedback
Grade
Code Expert
Lecturers
Student teaching assistant
Staff Workload (800 Candidates)
| Time | Staff | |
|---|---|---|
| Creating Questions | 0.3 FTE | 4 - 5 Lecturers together |
| 0.3 FTE | 1 Doctoral Teaching Assistant | |
| Administration and Coordination | 5 d | 1 Doctoral Teaching Assistants |
| Exam | 4 h | 2 - 3 Lecturers, 15 Doctoral Teaching Assistants and 15 Student Teaching Assistants |
| Grading | 5 d | 2 - 3 Lecturers |
Creating Questions
Administration and Coordination
Exam
Grading
Extra Information
- Creating Questions
- The time also includes solving the created questions to check whether they work as intended.
- Code Expert: Becoming familiar with Code Expert for exam use typically takes around 2–3 days. An additional half day is usually sufficient to understand how to grade using Code Expert in combination with Moodle.
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.
Downloads & Links
"Code Expert scales infinitely - until it hits the walls of ETH’s exam rooms."