Program analysis
This project would analyse students' computer programs to
to provide hopefully useful feedback and maybe a mark to
the student.
Here are possible areas of analysis
- Perform a normal software metrics analysis and compare
a student's program's metrics with a sample program provided
by the lecturer. A bad program might be longer (more lines of
code), have fewer functions/methods etc.
- Using the techniques of compiler optimisation, it would
be possible to detect some inefficiencies in a student's
code.
- On some short programs there might be a recognised
number of solutions. Given a set of program templates it
should be possible to match the student's program into one
of the standard solutions. If the student's program didn't
match any template, then it could be marked manually. Maybe
this new program could be added to the set of templates.
References
- Experiences gained from producing a compiler to guide
first year programming students.