exercism / exercism/r

Syllabus extensions, post-launch

Open
#528 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
R
Stars
31
Forks
46
Avg merge
4h 25m
Merged PRs (30d)
8

Description

Continues from #504

Well, it's launched (_!!!)_, and students are playing with it (only the first few concepts so far, but it's early days).

I'd be happy to slow down after the intensity of the last couple of weeks. However, there are still some obvious things to do at some point, including stuff that's already in progress.

  | Concept | Exercise
-- |:--:|:--:|
complex-numbers | #390 |  non-urgent
factors | _wip_ | ??
classes | _wip_ | ??

We'll need factors as a prereq for any further dataframe content.

I was previously dismissive of classes, thinking it would be docs-only at best. Unfortunately, the R practice exercises may push us to take it seriously. Three exercises (`robot-name`, `robot-simulator`, `dnd-character`) include `expect_s3_class()` in the testing, and several more use S3 classes in the example solutions.

To extend dataframes, these are things we already discussed:
- Basic `readr` stuff, probably limited to not much more than `read_csv()`.
- Basic `tidyr` stuff, such as `pivot_longer()` and `pivot_wider()`.
- `group_by` operations.
- Simple relational joins between tables.
- Tidy evaluation vs data masking (cf #515 and #506).

There's a lot beyond that we could do for data analysis and statistics. The R track is pretty unique within Exercism for having much of that capability already in the test runner. I see the biggest challenge as the lack of graphics, when visualizing results is a huge part of it.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the syllabus entries for complex-numbers, factors, and classes, then read the discussions in #515 and #506 about tidy evaluation and data masking. Check the listed robot-name, robot-simulator, and dnd-character exercises for their expect_s3_class() usage. Done requires an agreed, scoped set of syllabus extensions rather than the broad list currently described.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
content
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.