Radar: Exercises with automatic similarity analysisΒΆ

It is possible to enable automatic program code similarity analysis for programming exercises by adding the Radar web service for an A+ course instance. When enabled, Radar will periodically fetch new submissions using the A+ API, and perform syntax level similarity analysis for the submissions. The results can be viewed using the Radar UI, accessible via the A+ menu.

Configuration

Radar is not yet available as a Docker container, and therefore requires manual configuration in order to be used with the exercises on this course.

The following exercises are identical to the example exercises from chapter 2.2, except that we have specified the programming language used in the exercise by using the key radar_tokenizer in the submit rst directive. Radar will track all submissions to exercises that have defined a valid language using the radar_tokenizer. Additionally, we specified the optional radar_minimum_match_tokens to lower the match length threshold in order to produce matches of the trivially short hello world exercises. This option defaults to an arbitrary, empirically chosen value of 15, and can be adjusted if the user feels that there are too many or too few matches.

You can try the service by e.g. logging in with two different accounts and submitting the same solution using both accounts. Then, using a teacher account, inspect the results in the Radar service.

A+ presents the exercise submission form here.

A+ presents the exercise submission form here.

A+ presents the exercise submission form here.

Posting submission...