Java: documentation: add hints for the first exercises without starter implementation

Created on 6 Dec 2017  路  15Comments  路  Source: exercism/java

I like your idea for allergy code.
However, I can't find any main method so I am having some trouble understanding how it really works.
Also I am having trouble running a test for $ gradle test in my terminal. Perhaps I am missing something in my install? Thank you.

documentation support

Most helpful comment

Hi @daveziegler55 - the allergies exercise does not have a starter implementation with it in line with our POLICIES.md, as it is rated 4 or higher in terms of difficulty.

However, the enums used for this exercise are in Allergen.java. I imagine that you are getting this file confused with the implementation you are meant to create. If you haven't already, I would make another Java file in the src/main/java/ directory called Allergies.java, and then create your implementation in this file!

Please let me know if this helps - there is also guidance available in the Gitter room if you ever need it :slightly_smiling_face:

All 15 comments

Hi @daveziegler55 - the allergies exercise does not have a starter implementation with it in line with our POLICIES.md, as it is rated 4 or higher in terms of difficulty.

However, the enums used for this exercise are in Allergen.java. I imagine that you are getting this file confused with the implementation you are meant to create. If you haven't already, I would make another Java file in the src/main/java/ directory called Allergies.java, and then create your implementation in this file!

Please let me know if this helps - there is also guidance available in the Gitter room if you ever need it :slightly_smiling_face:

This raises a good point about the transition from {stubs provided} to {no stubs provided}. We could probably make that transition less abrupt. How would folks feel about adding some hints to the earliest* exercises without starter implementations?

*The tricky thing is that we'd need to do this for several exercises in order to cover the set of {exercises that might be the first exercise a user encounters} due to the nextercism branching structure.

I think that's exactly right - it would be a really good idea to put some hints in and ease users into the idea of making their own files.

This exercise is probably particularly confusing due to the fact that there is a file providing enums, but it isn't a starter implementation.

I agree that this is a really good idea :) But as @stkent mentioned, it will be really hard to keep track of which exercises to do this for. We could add hints for the first core exercise with difficulty 5? Or all exercises with difficulty 5? All exercises with difficulty 5 would probably be the most thorough while not being too hard to maintain. But it would require a lot of duplication...

There are currently 14 exercises with difficulty 5 - I agree with the point you are making regarding duplication @FridaTveit. 14 exercises is quite a lot, however (if I understand correctly regarding nextercism) it is quite possible that many users will not complete all 14, especially if they choose to specialise in a specific area. For this reason, I'd be apprehensive about a less thorough coverage.

Additionally, I agree that this will be easiest to maintain! :slightly_smiling_face:

All with difficulty 5 sounds easier to maintain, for sure. We could still end up with paths through the curriculum that abruptly jump (if a path has no exercises with difficulty 5) but I'm not sure there's a reasonable fix available.

Sounds like we're agreed to do all with difficulty 5 then :) I'm happy to do a PR for that unless either of you particularly want to do it? :)

Sounds good to me @FridaTveit - go for it! :slightly_smiling_face:

FYI - traversing the curriculum just by the core exercises, the first exercise I come across without a starter implementation is parallel-letter-frequency which is a level 6. Not having a starter implementation - nor any mention of creating one in the exercise's readme did through me for a moment. Given that I have worked with other language tracks it was only a moment. However, I can imagine that for people for whom this track is their first, this may take more than a moment to grasp.

Hmm, not sure what the right solution is here. Thoughts, @exercism/java?

It's an interesting issue. I was chatting on the exercism/java gitter and someone raised a concern over the flatten-array exercise not having a class supplied with it. I explained the situation and directed them to the README (as it has Frida's guide in), but it is interesting the user seemingly first experienced it in flatten-array instead of parallel-letter-frequency as specified above?

Regardless of that, this should still be fixed. Do we know what dictates the order of the exercises? While we don't have to strictly order by difficulty, it would make sense to me if we were able to re-order a bit to fix this issue. Obviously with nextercism this could be a little more tricky, but for the current linear order it should be fairly simple?

What do you think of this @stkent ? 馃檪

parallel-letter-frequency is unlocked by the core exercise hamming. Other easier exercises without starter implementation are also unlocked by hamming such as phone-number (difficulty 5), nucleotide-count (difficulty 5), series (difficulty 5) and roman-numerals (difficulty 6). Which exercise the user does first at that point is up to them as far as I'm aware, at least in nextercism. So we can't really force them to do an easier one first. We could make parallel letter frequency unlocked by a later exercise, e.g. matrix.

Actually, come to think of it, parallel-letter-frequency should probably be unlocked by bank-account. They're the only two exercises to do with concurrency so it would make sense to group them together. What do you think @stkent @sjwarner-bp? :)

That makes sense to me - if it is going to cause an issue then it isn't adequately hidden by other easier exercises.

It makes sense to me that those two exercises should be paired, great idea @FridaTveit :relaxed:

I've made a PR :)

I think we can close this now since all the good first patch issues to add hints to exercises with no starter implementation have been closed. What do you think @exercism/java? 馃檪

Was this page helpful?
0 / 5 - 0 ratings