168,436 research outputs found

    Methodology for automated generation of multiple choice questions in self assessment

    Get PDF
    Current trends in the European Higher Education Area (EHEA) are moving towards the continuous evaluation of the students in substitution of the traditional evaluation based on a single test or exam. This fact and the increase in the number of students during last years in Engineering Schools, requires to modify evaluation procedures making them compatible with the educational and research activities. This work presents a methodology for the automatic generation of questions. These questions can be used as self assessment questions by the student and/or as queries by the teacher. The proposed approach is based on the utilization of parametric questions, formulated as multiple choice questions and generated and supported by the utilization of common programs of data sheets and word processors. Through this approach, every teacher can apply the proposed methodology without the use of programs or tools different from those normally used in his/her daily activit

    Programming 1 and sustainability

    Get PDF
    Computer programming is an essential skill for today's engineers, and sustainability plays a role of growing interest in any of the design phases of an engineering project. The fundamentals of sustainability, with basic concepts such as "carbon intensity", must be covered in any engineering curriculum. We propose a basic computer programming course in which the lab sessions incorporate exercises related to the computation of environmental impacts. For instance, an exercise might request the computation of the carbon footprint of the lab sessions during a whole year. Lab sessions use an automatic evaluation server, so called Jutge.org that assesses about the correctness of the programs submitted by the students. New exercises concerning sustainability topics are included in the Jutge.org course. The course involves the effort of a multidisciplinary team. First, lecturers on basic programming are required. An expert on automatic evaluation of computer programs is essential to prepare the statements and the test sets of the proposed exercises. Finally, the advice of economists and sustainability experts is crucial to guarantee judicious conclusions are drawn from each exercise. Forming a team with this profile is a challenging task. Our Computer Science (CS) department lectures basic programming courses to more than 1700 students/year. The success of this approach could bring a substantial social impact in our ecosystem

    Automatic Image Marking Process

    Get PDF
    Abstract-Efficient evaluation of student programs and timely processing of feedback is a critical challenge for faculty. Despite persistent efforts and significant advances in this field, there is still room for improvement. Therefore, the present study aims to analyse the system of automatic assessment and marking of computer science programming students’ assignments in order to save teachers or lecturers time and effort. This is because the answers are marked automatically and the results returned within a very short period of time. The study develops a statistical framework to relate image keywords to image characteristics based on optical character recognition (OCR) and then provides analysis by comparing the students’ submitted answers with the optimal results. This method is based on Latent Semantic Analysis (LSA), and the experimental results achieve high efficiency and more accuracy by using such a simple yet effective technique in automatic marking

    Comparative evaluation of performance-boosting tools for Python

    Get PDF
    The Python programming language has a number of advantages, such as simple and clear syntax, concise and readable code, and open source implementation with a lot of extensions available, that makes it a great tool for teaching programming to students. Unfortunately, Python, as a very high level interpreted programming language, is relatively slow, which becomes a nuisance when executing computationally intensive programs. There is, however, a number of tools aimed at speeding-up execution of programs written in Python, such as Just-in-Time compilers and automatic translators to statically compiled programming languages. In this paper a comparative evaluation of such tools is done with a focus on the attained performance boost

    Software Verification and Graph Similarity for Automated Evaluation of Students' Assignments

    Get PDF
    In this paper we promote introducing software verification and control flow graph similarity measurement in automated evaluation of students' programs. We present a new grading framework that merges results obtained by combination of these two approaches with results obtained by automated testing, leading to improved quality and precision of automated grading. These two approaches are also useful in providing a comprehensible feedback that can help students to improve the quality of their programs We also present our corresponding tools that are publicly available and open source. The tools are based on LLVM low-level intermediate code representation, so they could be applied to a number of programming languages. Experimental evaluation of the proposed grading framework is performed on a corpus of university students' programs written in programming language C. Results of the experiments show that automatically generated grades are highly correlated with manually determined grades suggesting that the presented tools can find real-world applications in studying and grading

    Deepening computer programming skills by using web-based peer assessment

    Get PDF
    Peer assessment is a method of motivating students, involving students marking and providing feedback on other students' work. This paper reports on the design and implementation of a novel web-based peer assessment system for computer programming courses, and discusses its deployment on a large programming module. The results indicate that this peer assessment system has successfully helped students to develop their understanding of computer programming

    Using web-based peer assessment in fostering deep learning in computer programming

    Get PDF
    Active learning is considered by many academics as an important and effective learning strategy. Students can improve the quality of their work by developing their higher cognitive skills through reflection on their own ideas and practice of analytic and evaluative skills. Peer assessment is one of the successful approaches which can be used to enhance this deep learning. In this paper we discuss a novel web-based peer assessment system to support computer programming courses. We discuss the educational rational for the system, and the deep learning theory, report on its deployment on large programming modules. The preliminary results indicate that the system has successfully helped students to develop their higher cognitive skills in learning computer programming

    Automated Feedback for 'Fill in the Gap' Programming Exercises

    Get PDF
    Timely feedback is a vital component in the learning process. It is especially important for beginner students in Information Technology since many have not yet formed an effective internal model of a computer that they can use to construct viable knowledge. Research has shown that learning efficiency is increased if immediate feedback is provided for students. Automatic analysis of student programs has the potential to provide immediate feedback for students and to assist teaching staff in the marking process. This paper describes a “fill in the gap” programming analysis framework which tests students’ solutions and gives feedback on their correctness, detects logic errors and provides hints on how to fix these errors. Currently, the framework is being used with the Environment for Learning to Programming (ELP) system at Queensland University of Technology (QUT); however, the framework can be integrated into any existing online learning environment or programming Integrated Development Environment (IDE
    • 

    corecore