4,786 research outputs found

    Computer Aided Design and Grading for an Electronic Functional Programming Exam

    Full text link
    Electronic exams (e-exams) have the potential to substantially reduce the effort required for conducting an exam through automation. Yet, care must be taken to sacrifice neither task complexity nor constructive alignment nor grading fairness in favor of automation. To advance automation in the design and fair grading of (functional programming) e-exams, we introduce the following: A novel algorithm to check Proof Puzzles based on finding correct sequences of proof lines that improves fairness compared to an existing, edit distance based algorithm; an open-source static analysis tool to check source code for task relevant features by traversing the abstract syntax tree; a higher-level language and open-source tool to specify regular expressions that makes creating complex regular expressions less error-prone. Our findings are embedded in a complete experience report on transforming a paper exam to an e-exam. We evaluated the resulting e-exam by analyzing the degree of automation in the grading process, asking students for their opinion, and critically reviewing our own experiences. Almost all tasks can be graded automatically at least in part (correct solutions can almost always be detected as such), the students agree that an e-exam is a fitting examination format for the course but are split on how well they can express their thoughts compared to a paper exam, and examiners enjoy a more time-efficient grading process while the point distribution in the exam results was almost exactly the same compared to a paper exam.Comment: In Proceedings TFPIE 2023, arXiv:2308.0611

    Automatic Feedback for UML Modeling Exercises as an Extension of INLOOP

    Get PDF
    In recent years, e-learning systems have become an important part of normal and university education. One reason for this is the growth in student numbers. INLOOP is an assessment system for object-oriented programming and is used in a beginner software engineering course of the TU Dresden. Unfortunately, for the course, there is no assessment system for object-oriented modeling. This thesis extends the INLOOP concept with functionality to assess object-oriented modeling. For that, it introduces INLOOM as a constraint-based model assessment system that works well with the architecture and workflow of INLOOP. It is based on a two-stage system that generates constraint-based test sets out of expert solution models and uses these to generate feedback and a score for a student's solution model. The system was designed by first surveying the literature on model assessment systems and then creating a design that is easy to include into INLOOP. To assess the new INLOOM system, a proof-of-concept realization for analysis UML class models is introduced. For evaluation, this realization is used to assess student solutions for tasks of multiple exams. The results of the assessment system are then compared with the assessments of human instructors. It could be shown that the INLOOM system works as well as other comparable systems. In conclusion, the INLOOM system can be used alongside INLOOP to improve the student feedback in the beginner software engineering course

    EasyCoding - methodology to support programming learning

    Get PDF
    Mestrado de dupla diplomação com o Centro Federal de Educação Tecnológica de Minas Gerais – CEFET-MGThe increase in failure rate in the first programming curricular units, in engineering courses, and the school dropout growth by students shows the importance of further study on the real reasons for these episodes. When considering that this situation is amplified, in large part, by the lack of motivation and the lack of student autonomy to study programming outside the classroom context, this work proposes a methodology based on activity guides, using innovative and attractive web platforms. The proposed methodology aims to facilitate the planning of teachers’ activities and to increase students’ autonomy and motivation. For the execution of this study, we evaluated the proposed methodology with programming professors and students at the Polytechnic Institute of Bragança and the Federal Center for Technological Education of Minas Gerais. In addition, we developed a system for automatic generation of activity guides which aimed assisting teachers in the creation of exercises with innovative web platforms to motivate students to study programming beyond the classroom. The obtained results allow us to demonstrate the importance of using innovative teaching methodologies, inside and outside the classroom, to encourage students to practice more programming exercises. Thus, as contributions, the proposed methodology can help combat school dropout in higher education in engineering courses, once it can help to keep the students motivated during the first programming subjects.O aumento na taxa de insucesso nas primeiras unidades curriculares de programação, nos cursos de engenharia, e o crescimento do abandono escolar por parte dos alunos mostra a importância de um estudo mais aprofundado sobre os reais motivos desses episódios. Ao considerar que essa situação é ampliada, em grande parte, pela falta de motivação e falta de autonomia do aluno para estudar programação fora do contexto da sala de aula, este trabalho propõe uma metodologia baseada em guiões de atividades, utilizando plataformas web inovadoras e atrativas. A metodologia proposta visa facilitar o planejamento das atividades dos professores e aumentar a autonomia e a motivação dos alunos. Para a execução deste estudo, avaliamos a metodologia proposta com professores e alunos de programação do Instituto Politécnico de Bragança e do Centro Federal de Educação Tecnológica de Minas Gerais. Além disso, desenvolvemos um sistema para geração automática de guias de atividades, com o objetivo de auxiliar os professores na criação de exercícios com plataformas web inovadoras, para motivar os alunos a estudar programação além da sala de aula. Os resultados obtidos nos permitem demonstrar a importância do uso de metodologias inovadoras de ensino, dentro e fora da sala de aula, para incentivar os alunos a praticar mais exercícios de programação. Assim, como contribuição, a metodologia proposta pode ajudar a combater o abandono escolar no ensino superior nos cursos de engenharia, uma vez que pode ajudar a manter os alunos motivados durante as primeiras disciplinas de programação
    corecore