Grading with {gradethis}
Grade solutions to R exercises using the existing {gradethis}
R package
Setup
The quarto-live
extension must be configured to use the {gradethis}
R package in grading algorithms. Include the following lines after the document YAML header, but before your main content, in your Quarto document:
{{< include ./_extensions/r-wasm/live/_knitr.qmd >}} {{< include ./_extensions/r-wasm/live/_gradethis.qmd >}}
This configuration step is temporary. It is planned in a future version of quarto-live
to be configurable by a key in the document YAML header instead.
Grading with a template solution
First, create a webr
exercise as normal,
gradethis.qmd
```{webr}
#| exercise: ex_1
#| setup: true
library(dplyr)
```
```{webr}
#| caption: Sample Exercise
#| exercise: ex_1
starwars |> ______
```
Next, create a solution block for your exercise. Ensure that some template solution code is given in the form of a webr
code block, linked to your exercise and with the cell option solution: true
set.
gradethis.qmd
::: {.solution exercise="ex_1"}
#### Solution
`distinct()` function from the `{dplyr}` package.
Use the
```{webr}
#| exercise: ex_1
#| solution: true
starwars |> distinct(hair_color)
```
:::
Finally, create grading algorithm using {gradethis}
package by adding a webr
code block with the cell option check: true
set. The grading algorithm should call gradethis::grade_this_code()
.
The template code provided in your solution block will be compared to the user provided code to automatically generate relevant feedback.
gradethis.qmd
```{webr}
#| exercise: ex_1
#| check: true
gradethis::grade_this_code()
```
Output
Solution:
starwars |> distinct(hair_color)
|> distinct(hair_color) starwars