scispace - formally typeset
Proceedings ArticleDOI

Automated Feedback Framework for Introductory Programming Courses

TLDR
The results show that the automated feedback generation framework can discover more errors inside student submissions and can provide timely and useful feedback to both instructors and students.
Abstract
Using automated grading tools to provide feedback to students is common in Computer Science education. The first step of automated grading is to find defects in the student program. However, finding bugs in code has never been easy. Comparing computation results using a fixed set of test cases is still the most common way to determine correctness among current automated grading tools. It takes time and effort to design a good set of test cases that can test the student code thoroughly. In practice, tests used for grading are often insufficient for accurate diagnosis.In this paper, we present our utilization of industrial automated testing on student assignments in an introductory programming course. We implemented a framework to collect student codes and apply industrial automated testing to their codes. Then we interpreted the results obtained from testing in a way that students can understand easily. We deployed our framework on five different introductory C programming assignments here at the University of Illinois at Urbana-Champaign.The results show that the automated feedback generation framework can discover more errors inside student submissions and can provide timely and useful feedback to both instructors and students. A total of 142 missed bugs were found within 446 submissions. More than 50% of students received their feedback within 3 minutes of submission.

read more

Citations
More filters
Proceedings ArticleDOI

Automatic Grading and Feedback using Program Repair for Introductory Programming Courses

TL;DR: Experiments show that GradeIT results are comparable to manual grading by teaching assistants (TAs), and do not suffer from unintentional variability that happens when multiple TAs grade the same assignment.
Journal ArticleDOI

Automated Assessment in Computer Science Education: A State-of-the-Art Review

TL;DR: This work surveys the state-of-the-art in the automated assessment of CS assignments, focusing on the supported types of exercises, security measures adopted, testing techniques used, type of feedback produced, and the information they offer the teacher to understand and optimize learning.
Proceedings ArticleDOI

Automatic grading of programming assignments: an approach based on formal semantics

TL;DR: AutoGrader is the first automated grading tool that relies on program semantics and generates feedback with counterexamples based on path deviations, which reduces human efforts in writing test cases and makes the grading more complete.
Proceedings ArticleDOI

A review of introductory programming research 2003–2017

TL;DR: It is timely to conduct and present a comprehensive review of research into introductory programming since that of Robins et al. in 2003 to gain an understanding of the research focuses, to highlight advances in knowledge since 2003, and to indicate possible future directions for research.
References
More filters
Proceedings ArticleDOI

KLEE: unassisted and automatic generation of high-coverage tests for complex systems programs

TL;DR: A new symbolic execution tool, KLEE, capable of automatically generating tests that achieve high coverage on a diverse set of complex and environmentally-intensive programs, and significantly beat the coverage of the developers' own hand-written test suite is presented.
Journal ArticleDOI

SAGE: whitebox fuzzing for security testing

TL;DR: If you are reading these lines on a PC running some form of Windows, then you have been affected by this line of work--without knowing it, which is precisely the way the authors want it to be.
Book ChapterDOI

CUTE and jCUTE: concolic unit testing and explicit path model-checking tools

TL;DR: CUTE as discussed by the authors is a unit testing engine for C and Java that combines concrete and symbolic execution in a way that avoids redundant test cases as well as false warnings, and introduces a race-flipping technique to efficiently test and model check concurrent programs.
Proceedings ArticleDOI

Concolic testing

TL;DR: This tutorial describes concolic testing and some of its recent extensions and uses the tools to find bugs in several real-world software systems including SGLIB, a popular C data structure library used in a commercial tool, and the Sun Microsystems' JDK 1.4 collection framework.
Journal ArticleDOI

SAGE: Whitebox Fuzzing for Security Testing: SAGE has had a remarkable impact at Microsoft.

TL;DR: In this article, the authors point out that if you are reading these lines on a PC running some form of Windows (like 93-plus percent of PC users), then you have been affected by this line of work.
Related Papers (5)