Changes in version 0.0.1 Changes in version 0.0.0.9039 Exercises - ProjectOrga: the exercise on here::i_am() rejected the correct answer, and no answer could have passed it. The code is executed in a temporary directory without a project root, so i_am() aborted with "Could not find associated project" before the check even ran, and the check itself searched for the path in single quotes, which neither the sample solution nor any student writes. The exercise now creates the directory structure it describes, so the code runs, and the check accepts both quoting styles and reports a missing library(here) and the wrong order separately. - ObjectTypes2: the two exercises on extracting a column from a tibble also searched for the column name in double quotes only, so the correct tib_1['vec_2'] was rejected as referring to the wrong column. Both checks now accept either quoting style and ignore spacing. In the exercise on [[, the guard against the single-bracket form tested for tib_1[2 instead of tib_1[1, so tib_1[1] fell through to a fail() without any message. Documentation and tests - The README explains how to update the package. It previously said that the installation is only needed once per computer, although corrections to the exercises only arrive with a new installation. - New test: a check that searches the student code for a literal must accept the code in its own -solution chunk. This is the bug above, and it was invisible until a student ran into it. - The test of the exercise-name suggestion in run_exercise() is skipped when the package is not installed. It reads the list of exercises through learnr::available_tutorials(), which does not see a source tree, so the test failed under devtools::test() while passing under devtools::check(). Changes in version 0.0.0.9038 Installation - The package is now distributed via r-universe, so it can be installed with install.packages() and no longer requires the remotes package or a GitHub account. See the README for the new installation instructions. - All packages used by the exercises are now declared in DESCRIPTION. Previously seven of them (ggplot2, data.table, tidyr, here, moderndive, purrr, scales) were missing, which meant that eight of the exercises interrupted students with an install prompt on first start. Everything is now installed together with the package. - Removed the dependency on moderndive, which pulled in 14 further packages. - WDI is only needed to rebuild the data sets and moved to Suggests. - The minimum required R version is now stated correctly as 4.3. New features - run_exercise() starts an exercise, e.g. run_exercise("Basics"). It fills in the package name, opens the exercise in a browser, ignores capitalisation and suggests the closest name if you mistype it. - list_exercises() lists all available exercises. - check_setup() reports your R version and whether all required packages are installed - useful when something does not work. - regression_table() summarises a linear model in a concise table with confidence intervals. It replaces moderndive::get_regression_table(). Exercises - All exercises now use the native pipe |> instead of %>%. - LinearRegression2: the section on parallel slopes and interaction models now builds on gdplifexp2007, the data set already used earlier in the same tutorial, instead of moderndive::evals. The regression lines are drawn from the fitted values of the model via predict() and geom_line() rather than with moderndive::geom_parallel_slopes(), which makes visible why the slopes are parallel. The difference between the two models is now also much clearer: the effect of GDP per capita on life expectancy differs by a factor of about five between Africa and Europe. - Functions: the sample solution of the exercise on defining a variance function did not pass its own check, because it defined the function without applying it. Fixed, and the check now explains the problem. - Wrangling1: the check of the filtering exercise contained a misplaced parenthesis, so its explanatory message was never shown. Fixed. - ObjectTypes1, Basics, Functions: converted to the current grade_this() interface. - Fixed several typos, among them "Regresssion" in two exercise titles. Data - Growth, product_complexity and unemp_pop are now documented. - Corrected the documented dimensions of gdplifexp2007, aggGDPlifexp, nycflights21_small, wine2dine and EUFstudentsemesters, and documented the previously missing columns of aggGDPlifexp and econjournals.