Automatic Assessment of Programming Projects in a Compiler Construction Course
Keywords:
Classroom examples, Compiler construction, Interpreters, Programming languages design, Virtual machinesAbstract
Techniques for compiler construction are usually taught in companion of a capstone project that has the aim of build a mini-language. However, it seems that students will never build a real compiler during their professional life, but it is common the implementation of tools as interpreters, translators, code generators, among others. In this article, we describe how to introduce several programming projects as part of a traditional compiler construction course where a very simple compiler for a mini-language is used as the cornerstone for a capstone project. The complementary projects allow us to expose students to the practical application of techniques for compiler construction and encourage the development of programming and problem-solving skills. In addition, we discuss the implementation of a scheme for automatic assessment using the Virtual Programming Lab plugging of the Moodle project. Student evaluation of the course shows a strong agreement about high course preparation, high motivation for the development of projects, total impartiality for grading, and high connection with the subjects of other courses.