Hi all! I’ve noticed the R track is a bit anemic compared to some of the other tracks I’ve tried out this year (like Elixir and Clojure). I’d like to contribute to help flesh out some more exercises for R. I did read the contributor guide and even read through the issues and current PRs for the R track on GitHub, but I don’t have a good feel for how to get started with either adding new exercises (ported from Python, most likely) or what priorities are there for building out a syllabus. Can someone point me in the right direction? Like, can I just port a random Python exercise and PR it, or is there a roadmap I should look to, or something else?
@ericwburden - Hi and welcome!
I don’t know if you have seen/gone through building/tracks
(on the website at building/tracks), concept exercises
(on the website at concept exercises), or practice exercises
(on the website at practice exercises) – but there is a lot of detail there.
Not sure of the priorities or the syllabus for the track (there is a start to lasagna
here) – but I do think an idiomatic practice exercise would be welcome regardless, and would help get you oriented to how things are done.
I’d suggest fleshing out what you think would go into the exercise in a draft PR (following the practice exercise specs linked above), and linking to it in a discussion here in the forum.
Beyond that, I’d touch base with the maintainers (@jonmcalder or Erik Schierboom) to talk priorities.
Hi and welcome @ericwburden!
And thanks @BethanyG for your response - spot on suggestions.
The only other thing I can add for now, is that there was an initial suggestion here setting out some ideas for concept exercises, but we haven’t really progressed that any further yet.
@BethanyG is correct that the best starting point at this stage would be to work on a PR to add a practice exercise which would be most welcome! Please also feel free to reach out to me directly if you need any further assistance.
Guess I didn’t read the contribution guide as thoroughly as I thought! Thanks for pointing these out, I’ll be sure to take a look.
Hi @ericwburden - a warm welcome to the Exercism Community, great to have you here and thanks for reaching out and offering to get involved.
Just to add as well, each track has a Build Status that outlines the overall ‘health’ of a track. This outlines the areas where the track can be improved, as well as some stats about the use of the track.
You can see the R track status here
As an example, you’ll see that for R, we currently don’t have an analyzer or representer for the track.
Anyways, just thought that would help give you additional context.
Great to have you here
Yep, adding practice exercises would be really helpful. Whilst concept exercises are awesome, they require a significantly larger effort and we need at least 10-ish of those for them to show up. Practice exercises have more immediate value and can be forked from other tracks (as in: you can copy/paste/modify them from other tracks, with a new uuid of course).
Adding practice exercises may be something I could help with. My R is a bit rusty (I last used it extensively about 10 years ago, in the context of a statistics course), but I don’t think it’s changed out of recognition since then. At least I have a reasonable background in scientific programming (Python, Matlab) and linear algebra.
I’ll be relatively busy till early May (end of the semester), but should have more free time over the summer.
I see that issues on the R track are being auto-closed. What I just posted is minor (some broken links in the documentation), but I’d like to make sure you are accepting PRs for new (ported) practice exercises.
Autoclosed PR: darts: add practice exercise #242
I’m not sure if you want to reopen it? I’ll wait for comments before I work on anything else. Either way, I learned something from creating this!
Just ping me in the PR and I’ll have a look next week! I’d be happy to get some R PR’S merged
PRs for darts
and armstrong-numbers
have been reopened by @jonmcalder. I just put in a tentative PR for queen-attack
, which is auto-closed and likely to need some discussion before proceeding.
A PR for the new darts exercise was merged yesterday, but it is still not showing up on the R Exercises web page. It is in config.json
with "status": "active"
.
There are other new practice exercises in the pipeline (3 PRs awaiting review, 2 potential PRs as advanced drafts), so if I’m doing something wrong that blocks deployment it would be useful to know. Best not to keep repeating the same mistakes!
This may be related to the syncing problems @iHiD referred to in another post. I’ll wait for those fixes and see how things look next week.
Thanks for all the PR’s @colinleach!
Sorry that I’ve only been able to review the darts PR so far. I’ve been pretty busy at work and am travelling this weekend so haven’t been able to get to the others yet.
I’ll do my best to review some of them during the evenings this week or otherwise by next weekend.
I didn’t see anything wrong with the darts PR so if it’s not showing up on the website it must be due to that issue you referenced. I’m confident it’ll be there on Monday/Tuesday after @iHiD does a sync.
Thanks again for all your help!
@jonmcalder, please relax about this! The track is closed to community contributions for a good reason, and I want to respect that.
I was about to submit one more PR before posting here, but you preempted me. The 3 new exercises posted today are/will be marked with comments that I’m happy to leave them auto-closed for now, even if it takes a few months.
I just sent in the last PR on the R track for today. That means in the last week we have 1 merged, 3 open and awaiting review, 3 auto-closed for now. Potentially, that could get us to 44 practice exercises.
Submitting PRs at this rate inevitably stresses the people who have to review them (sorry!). When I get chance I’ll create more test/implementation pairs on my own repo. That is, for me, the slow part. Converting them to PRs is quick, with a shell script I adapted from the V track - this can be done later in the year, by agreement.
To be honest, I’m having fun with this and got a bit carried away…
I’ll also go away and (re)-learn more R! All my example.R
implementations should pass the tests, but may lack sophistication and elegance.