Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#48in24: Add analyzer feedback for Parallel Letter Frequency #2713

Open
sanderploegsma opened this issue Feb 2, 2024 · 5 comments
Open

#48in24: Add analyzer feedback for Parallel Letter Frequency #2713

sanderploegsma opened this issue Feb 2, 2024 · 5 comments
Labels
x:action/create Work on something from scratch x:knowledge/advanced Comprehensive Exercism knowledge required x:module/analyzer Work on Analyzers x:module/practice-exercise Work on Practice Exercises x:size/large Large amount of work x:type/coding Write code that is not student-facing content (e.g. test-runners, generators, but not exercises) x:type/content Work on content (e.g. exercises, concepts)

Comments

@sanderploegsma
Copy link
Contributor

sanderploegsma commented Feb 2, 2024

The Parallel Letter Frequency exercise on the Java track is being featured in the #48in24 challenge, which means that we expect an influx of students attempting to solve it during that week.

It would be nice if the exercise contains some more content by that time.
One example of this is to add analyzer feedback for the exercise, to provide automated feedback on submitted solutions.

Adding analyzer feedback is done in three steps:

  1. Create (or update) the .meta/design.md file for the exercise explaining what type of feedback the analyzer should provide (example for the Leap exercise).
  2. Add the copy for the analyzer comments to exercism/website-copy.
  3. Implement the analyzer rules in exercism/java-analyzer.
@sanderploegsma sanderploegsma added x:action/create Work on something from scratch x:knowledge/advanced Comprehensive Exercism knowledge required x:module/analyzer Work on Analyzers x:type/coding Write code that is not student-facing content (e.g. test-runners, generators, but not exercises) x:type/content Work on content (e.g. exercises, concepts) x:size/large Large amount of work labels Feb 2, 2024
@sanderploegsma sanderploegsma changed the title #48in24: Implement analyzer for Parallel Letter Frequency #48in24: Add analyzer feedback for Parallel Letter Frequency Feb 2, 2024
@sanderploegsma sanderploegsma added the x:module/practice-exercise Work on Practice Exercises label Feb 2, 2024
@yogan
Copy link
Contributor

yogan commented Mar 16, 2024

Just as a reminder, the exercise text currently states that:

Single-threaded (non-concurrent) solutions can pass all tests but the last. Your solution will be tested for concurrency by submitting it as a Runnable to an ExecutorService. Your solution must leverage multiple Threads to pass the final test.

However, there is not (yet) such a test case.

Maybe for now remove that section and replace it with a note that participants should take care themselves that they are using some kind of parallelism in their solutions.

@sanderploegsma
Copy link
Contributor Author

Thanks for the feedback, good to know! PR is welcome if you're willing to fix it yourself 😁

@yogan
Copy link
Contributor

yogan commented Mar 18, 2024

Can you give me a hint where I can the find the text for the exercise? I assumed it would be in this repository, but I have cloned it and searched for the mentioned paragraph without any matches.

@sanderploegsma
Copy link
Contributor Author

Sure! Here it is: https://github.com/exercism/java/blob/main/exercises/practice/parallel-letter-frequency/.docs/instructions.append.md

yogan added a commit to yogan/java that referenced this issue Mar 18, 2024
The exercise docs suggested that the submitted code is automatically
tested for the usage of parallelism. This is not the case, so the
paragraph rewritten to instead suggest students to check for parallelism
themselves.

To help, a few links to resources about concurrency and parallelism in
Java are added.
@yogan
Copy link
Contributor

yogan commented Mar 18, 2024

Ah, it was in a hidden directory, so I didn't find it with a simple rg. Good to know.

Anyway, I've created a PR. Not sure if the linked resources are ideal (I'm not up-to-date with Java), but it was what I was using while doing the exercise.

yogan added a commit to yogan/java that referenced this issue Mar 20, 2024
The fact that the tests are currently not checking for parallelism is no
longer mentioned in the instructions.

Resources about concurrency are moved to `hints.md`.
sanderploegsma added a commit that referenced this issue Mar 21, 2024
* Update instructions for parallel-letter-frequency (#2713)

The exercise docs suggested that the submitted code is automatically
tested for the usage of parallelism. This is not the case, so the
paragraph rewritten to instead suggest students to check for parallelism
themselves.

To help, a few links to resources about concurrency and parallelism in
Java are added.

* Split up docs for parallel-letter-frequency (#2713)

The fact that the tests are currently not checking for parallelism is no
longer mentioned in the instructions.

Resources about concurrency are moved to `hints.md`.

* Apply suggestion to parallel-letter-frequency hints

Co-authored-by: Sander Ploegsma <[email protected]>

---------

Co-authored-by: Sander Ploegsma <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:action/create Work on something from scratch x:knowledge/advanced Comprehensive Exercism knowledge required x:module/analyzer Work on Analyzers x:module/practice-exercise Work on Practice Exercises x:size/large Large amount of work x:type/coding Write code that is not student-facing content (e.g. test-runners, generators, but not exercises) x:type/content Work on content (e.g. exercises, concepts)
Projects
None yet
Development

No branches or pull requests

2 participants