  Dodona (dodona.ugent.be) is an intelligent tutoring system for computer
programming. It bridges the gap between assessment and learning by providing
real-time data and feedback to help students learn better, teachers teach
better and educational technology become more effective. We demonstrate how
Dodona can be used as a virtual co-teacher to stimulate active learning and
support challenge-based education in open and collaborative learning
environments. We also highlight some of the opportunities (automated feedback,
learning analytics, educational data mining) and challenges (scalable feedback,
open internet exams, plagiarism) we faced in practice. Dodona is free for use
and has more than 36 thousand registered users across many educational and
research institutes, of which 15 thousand new users registered last year.
Lowering the barriers for such a broad adoption was achieved by following best
practices and extensible approaches for software development, authentication,
content management, assessment, security and interoperability, and by adopting
a holistic view on computer-assisted learning and teaching that spans all
aspects of managing courses that involve programming assignments. The source
code of Dodona is available on GitHub under the permissive MIT open-source
license.
