exercism / exercism/r

R Syllabus: Late May Update

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

Description

Continues #492.

I am trying to get this moving again, after a planned pause for visitors and an unplanned 2-week brain outage (the latter _hopefully_ coming to an end?). It's an arbitrary deadline, but I would really like to get something (even if clearly incomplete) out to students by the end of June.

There are quite a few things in progress: draft concepts with no exercise, plus some incomplete drafts I need to finish and PR. That was deliberate (_honestly!_): I've been learning a lot along the way, and my thinking has changed as I write the concept drafts.

  | Concept | Exercise
-- |:--:|:--:|
basics | ✔️ | ✔️
booleans | ✔️ | ✔️
conditionals | ✔️ | ✔️
vectors | ✔️ | ✔️
vector-filtering | ✔️ | ✔️
vector-functions | ✔️ | ✔️
strings | ✔️ | ✔️
nothingness | ✔️ | ✔️
errors | ✔️ |  ✔️
names-attribute | ✔️ | ✔️
lists | ✔️ | ✔️
switch | ✔️ | ✔️
loops | ✔️ | ✔️
set-operations | ✔️ | ✔️
randomness | ✔️ | ✔️
complex-numbers | #390 |  non-urgent
functions | ✔️ | ✔️
functional-programming | ✔️ | ✔️
dates-times | ✔️ | ✔️
matrices-arrays | ✔️ | concept-only
dataframes | ✔️ | ✔️
factors | _wip_ | ??
classes | _wip_ | concept-only
regular-expressions | ✔️ | ✔️

~~We'll also need `regular-expressions` with `regular-chatbot` at some point (boring, but shouldn't be too difficult).~~

I'm starting to think about one or more concepts lumped under `data-operations`. That's open-ended: it could turn into a complete R translation of [Pandas Workout](https://www.amazon.com/Pandas-Workout-Reuven-Lerner/dp/1617299723) and [Pandas in Action](https://www.amazon.com/Pandas-Action-Boris-Paskhaver-ebook/dp/B09F7424LW), given that tibbles have pretty much the same range of functionality!

More realistically, I'm looking to start with:
- 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.

All that can be done within the test runner, as currently configured.

Put together, it might look roughly like [this flowchart](https://github.com/colinleach/learning-track-doodles/blob/master/r/flowchart.md)

Thinking about the critical path:
- To me, Dataframes are absolutely central to modern R: much more now than 20 years ago. It's as if Python was just a scripting language for Pandas!
- That means we need a sequence of three concepts, with exercises, before launch:
1. Functions
2. Functional Programming
3. Dataframes

The rest can be added later, if necessary.

_Thoughts?_

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.