Conceptos Básicos
This paper describes the authors' experiences in automating computer programming assessments and project submissions using CodeRunner and GitHub Classroom, two open-source tools that have helped improve the efficiency and effectiveness of teaching and learning in programming courses.
Resumen
The paper discusses the authors' experiences in automating computer programming assessments and project submissions at their university department over the past six years.
Key highlights:
-
Challenges in traditional programming courses: Setting up programming environments, verifying student code logic, helping with debugging, and manually evaluating student work.
-
Adoption of CodeRunner (CR) and GitHub Classroom (GHC) to address these challenges:
- CR provides a single interface for multiple programming languages, allowing automated grading of programming exercises.
- GHC enables online programming assignments and project submissions, with features like version control, autograding, and feedback.
-
Installation and customization of CR and GHC:
- CR was installed on a separate server and integrated with the university's Moodle learning management system.
- GHC was used to create classrooms, assign programming exercises, and manage project submissions.
-
Experiences with using CR and GHC:
- CR allows closed-book programming assessments, while GHC is suitable for open-book exercises and project submissions.
- Both tools support multiple programming languages and enable parallel assessments.
- Students benefit from the real-time feedback and industry-ready environment provided by GHC.
- Instructors save time on manual evaluation and can focus on helping students understand programming concepts.
-
Lessons learned:
- CR and GHC are free, open-source tools that are well-suited for educational settings.
- Initial learning curve for students, but they become more comfortable after a few attempts.
- Importance of faculty training and addressing potential issues like plagiarism.
The paper provides a comprehensive overview of the authors' experiences in automating programming assessments and project submissions, highlighting the benefits and insights gained from using CR and GHC in their university department.
Estadísticas
Consider a typical institution conducting a programming course (lab) for students. Here, the student is expected to have a lab notebook and prepare the assigned programming assignment each week in a well formatted structure.
Assuming a class size of 60, it is close to impossible for the course instructor to do all these tasks in the given time.
Citas
"With CR or GHC, course instructors distribute programming assignments to students with appropriate instructions, all in virtual mode. Then students work independently based on the instructions, and the code is verified automatically. Here, there is no manual evaluation, so the course instructor does not need to go to individual students' places and check the output of his code."
"To encourage the collaborative environment, we use GHC for the submission of students' code. This method provides the course instructors with information about code submissions, frequency of these submissions with changes, and the individual contribution, all in online mode. This reduces the manual time of checking the students' progress in evaluating projects."