Code Q is a web platform and an application for teaching programming through exercises. Besides a collection of carefully prepared programming exercises, Code Q offers automatic testing of the correctness of solutions, an interpreter to run instructions, queries and programmes, and foremost the ability to provide immediate feedback tailored specifically for the individual student. This type of communication is of vital importance for learning Code Q strives to offer it to each and every student. By giving appropriate hints and explanations, the application facilitates self-learning and simultaneously prevents a drop in motivation.
Feedback is provided by an advanced expert module that draws hints, advice and other information from various sources. Apart from deliberately predefined explanations and clues, the module uses a state-of-the-art method, developed at the Artificial Intelligence Laboratory at the Faculty of Computer and Information Science in Ljubljana, for automatic detection and correction of common programming errors based on the analysis of previously submitted solutions to the exercises. The application also facilitates the running of selected groups of programmes on Lego Mindstorms robots. The robot's performance serves as a visual hint of either the correctness or problems with the solution, and also provides additional motivation for younger students.
CODE Q is freely available and can be used either for self-learning or as a supplement in class. It currently offers a beginners programming course in Python and Prolog programming languages and a beginners course in programming a Lego Mindstorms robot. New exercises and other materials are planned and will be added in due course.