ABSTRACT
This demo introduces attendees to Pedal, a Python framework that streamlines the process of authoring semi-automated feedback on students? Python code. As a pure Python package, Pedal is compatible with a wide range of autograding platforms, including GradeScope, VPL, WebCAT, and BlockPy - as long as the platform allows package installation, Pedal should work. Pedal is a collection of modular program analysis tools exposed with a declarative interface, built around a centralized infrastructure. These tools include a sandboxed execution environment for running students' code with enhanced tracebacks, pattern matching syntax for specifying common student mistakes, basic type inference and flow analysis, random question pools, and a library of over 60 high-level, pedagogically-oriented assertions. Pedal's model for these tools synthesizes the detection of conditions and their instructor-mediated responses, encapsulated into dedicated feedback functions that can be tracked and modified as first-class objects. Our goal is to elevate Feedback with Software Engineering and Instructional Design practices, to become a central part of your course's development rather than an afterthought. Our toolchain also includes command lines utilities for unit testing your feedback to verify behavior and analyze collected programming snapshot data. Our hope is that adoptees will find that Pedal expands the power of their autograder and opens new avenues of research.
Index Terms
- Authoring Semi-automated Feedback for Python Code with Pedal
Recommendations
Autograding Python Code with the Pedal Framework: Feedback Beyond Unit Tests
SIGCSE 2024: Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 2The ever-increasing enrollments in programming courses has driven the need for sophisticated grading tools that can provide students with precise, insightful, and timely feedback. This SIGCSE workshop presents an interactive session on our powerful, open-...
Python CS1 as preparation for C++ CS2
SIGCSE '09How suitable is a Python-based CS1 course as preparation for a C++-based CS2 course? After fifteen years of using C++ for both CS1 and CS2, the Computer Science Department at Michigan State University changed the CS1 course to Python. This paper ...
Comments