8900 students in 46 courses have taken their programming course with this tool since Code Expert was launched four years ago. Students appreciate the barrier-free access to programming and lecturers use the various design options for interactive, student-tailored exercises.
For students, starting a new programming course is often a frustrating, nerve-racking experience. Instead of immediately writing and executing own code, they need to set up the development environment or start a resource-hungry virtual machine and configure it correctly. To facilitate this step and to reduce the hurdles, we started the Code Expert project 4 years ago at the Department of Computer Science in cooperation with with LET. Since then, the functional scope of Code Expert has been continuously expanded, based on feedback from lecturers and students, and now covers a wide range of teaching-related aspects, such as different exercise modes and feedback options, and exams.
For lecturers, Code Expert provides a platform to prepare and deliver tasks to an entire course. For every task, automatically determined marks and feedback can extended by letting tutors manually review the submissions as well, providing students with fast and high-quality feedback. Code Expert also offers gamification features to increase motivation and provide diligent students with additional tasks or resources.
For researchers, the Code Expert platform allows deep insights into individual learning processes of students. We expect this to provide answers to questions in the field of learning sciences and methodologies. For example, we are interested in finding early indicators for student’s performance, and in learning more about feedback and its impact on learning success.
What is Code Expert?
Code Expert is a worry-free and platform independent online IDE that allows thousands of students at ETH Zürich to work on open programming tasks in exercises and exams. The system provides immediate feedback to the student by running the code against given tests, static analyzers, or any other means of automatic feedback generation a lecturer wants to integrate. Finally, students can submit projects, which can be graded automatically or reviewed manually, or both.
Currently, Code Expert offers built-in support for Python, Java, C, C++ and Haskell, but it also allows the integration of custom environments tailored to specific needs.