Skip to main content

A Package to use the Measure of Incremental Development on sequences of student snapshots of code

Project description

Measure of Incremental Development

The Measure of Incremental Development (MID) is a metric that evaluates a student's adherence to incremental development given snapshots of the student's code at compilation. Currently, it has been developed and trained on student data from a Python-based, introductory computer science course.

Usage

First, install the Python package in the appropriate directory with pip using:
pip install measure_incremental_development

Second, import the calculateMID function in the Python file you would like to perform the calculation:
from measure_incremental_development.compute import calculate_mid

Third, make the appropriate call to the calculate_mid function (make sure the input data is formatted correctly):
mid_statistic = calculate_mid(snapshots)

Note: the input data snapshots should be formatted as described below

Input Data Format

The calculate_mid function will take as input a list of strings, where each element is a string that is the exact text of the student code (including whitespace).

An example of an appropriate input:

from measure_incremental_development.compute import calculate_mid

snap1 = """def hello(name):
    print(name)"""

snap2 = """def hello(name):
    welcome_string = "Hello " + name"""

snap3 = """def hello(name):
    welcome_string = "Hello " + name
    return welcome_string"""

snapshots = [snap1, snap2, snap3]

mid_statistic = calculate_mid(snapshots)

Github Repository

The full code to calculate the Measure of Incremental Development (MID) can be found on this Github repository.

Citation

Please use the following citation (in ACM Reference Format) if using this metric for a publication:

Anshul Shah, Michael Granado, Mrinal Sharma, John Driscoll, Leo Porter, William G. Griswold, and Adalbert Gerald Soosai Raj. 2023. Understanding and Measuring Incremental Development in CS1. In Proceedings of the 54th ACM Technical Symposium on Computing Science Education V. 1 (SIGCSE 2023), March 15–18, 2023, Toronto, ON, Canada. ACM, New York, NY, USA, 7 pages. https://doi.org/10.1145/3545945.3569880

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

measure_incremental_development-1.0.0.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page