Package 'gradeR'

Title: Helps Grade Assignment Submissions in Common R Formats
Description: After being given the location of your students' submissions and a test file, the function runs each file that is an R script, R Markdown file, or Quarto document, and evaluates the results from all the given tests. Results are neatly returned in a data frame that has a row for each student, and a column for each test.
Authors: Taylor Brown [aut, cre] (ORCID: <https://orcid.org/0000-0003-4972-6251>, GitHub: tbrown122387), Pete Benbow [ctb] (ORCID: <https://orcid.org/0009-0006-0505-7411>, GitHub: pebenbow)
Maintainer: Taylor Brown <[email protected]>
License: MIT + file LICENSE
Version: 2.0.1
Built: 2026-05-19 08:52:26 UTC
Source: https://github.com/tbrown122387/grader

Help Index


The grading function.

Description

This function grades a bunch of R script assignments

Usage

calcGrades(
  submission_dir,
  your_test_file,
  suppress_warnings = TRUE,
  verbose = FALSE
)

Arguments

submission_dir

where the assignments are located

your_test_file

the path to your testthat test file (e.g. grade_hw1.R)

suppress_warnings

warning handlers prevent code from being run after they catch something. Suppress this behavior by setting this argument to TRUE.

verbose

set to true if you want to print the name of the file as it's being ran

Value

a data.frame of all the scores for each student

Examples

# change paths to *your* paths
submissions <- "extdata/example/assignment1_submissions/"
my_test_file <- system.file("extdata/example", "grade_hw1.R", package = "gradeR")
results <- calcGrades(submissions, my_test_file)

The grading function for Gradescope.

Description

This function grades one R script assignment submission and writes results out to a properly-formatted json file for Gradescope. Supports R scripts (.r, .R) as well as R Markdown (.Rmd) and Quarto (.qmd) documents.

Usage

calcGradesForGradescope(
  submission_file,
  test_file,
  which_results = "gradescope",
  suppress_warnings = TRUE
)

Arguments

submission_file

the path to the assignment submission file (e.g. "hw1.r", "hw1.Rmd", or "hw1.qmd"). For Rmd/Qmd files, R code will be automatically extracted.

test_file

the path to the .r file with test_that tests (e.g. "hw1_tests.R")

which_results

Choose either "testing" or "gradescope". If equal to "gradescope", the json file is written to /autograder/results/results.json. Otherwise, results.json is written to your current working directory.

suppress_warnings

If FALSE, warnings are fatal; if set to TRUE, warnings will not prematurely terminate running of student submission scripts.

Value

Invisibly returns NULL. The function's primary purpose is the side effect of writing a JSON results file.

Examples

## Not run: 
# For local testing
calcGradesForGradescope("student_hw1.r", "hw1_tests.R", which_results = "testing")

# For Gradescope autograder (inside Gradescope environment)
# calcGradesForGradescope("hw1.r", "hw1_tests.R", which_results = "gradescope")

# Works with R Markdown files too
# calcGradesForGradescope("student_hw1.Rmd", "hw1_tests.R", which_results = "testing")

## End(Not run)

This function finds unreadable files.

Description

A function that finds student submissions with poorly encoded characters

Usage

findBadEncodingFiles(submission_dir)

Arguments

submission_dir

where the assignments are located

Examples

# change paths to *your* paths
submissions <- "extdata/assignment1_submissions/"
findBadEncodingFiles(submissions) # perhaps ask these students to resubmit

This function finds files with global file paths.

Description

A function that finds student submissions that refer to machine-specific file paths

Usage

findGlobalPaths(submission_dir)

Arguments

submission_dir

where the assignments are located

Examples

# change paths to *your* paths
submissions <- "extdata/assignment1_submissions/"
findGlobalPaths(submissions) # perhaps ask these students to resubmit

The function for analyzing and summarizing R test scripts.

Description

This function scans a given test script and summarizes the number of tests and test criteria in the script, as well as point values.

Usage

getTestScriptReport(script_path)

Arguments

script_path

the name of the .r file containing tests tests (e.g. "hw1_tests.R")