Freecodecamp: Counting Cards is unclear or too difficult

Created on 10 Jul 2017  路  30Comments  路  Source: freeCodeCamp/freeCodeCamp

According to Google Analytics, the Counting Cards challenge is way too hard, and is taking campers an average of 8 minutes to finish (if they finish - a lot of them seem to give up).

According to this table, campers spend more time on it than they do on the algorithm challenges.

We need to either reword this or simplify the challenge so it can be completed in closer to 3 minutes. Otherwise, we should move it back to the algorithm section.

help wanted learn

Most helpful comment

This is a hard one, I think one of the main issues people have is that they don't understand this challenge needs a switch statement and an if statement. The instructions just say, "The function will then return a string..." It's not clear that there are 2 steps required, so people are always putting the return statements inside the switch statement.

All 30 comments

This is a hard one, I think one of the main issues people have is that they don't understand this challenge needs a switch statement and an if statement. The instructions just say, "The function will then return a string..." It's not clear that there are 2 steps required, so people are always putting the return statements inside the switch statement.

@Margaret2 Thanks for your feedback. Do you think we need to move it further back in the section? Or perhaps to the algorithm section?

@QuincyLarson I think we should move it after the "Profile Lookup" challenge in the same section.

@prateekgoel we are discussing moving Profile Lookup to the algorithms section: https://github.com/freeCodeCamp/freeCodeCamp/issues/15616

Do you think we should move this challenge there as well?

@QuincyLarson I don't think we should move Profile Lookup to algorithms section because it's more of a basic Javascript to learn and not any sort of algorithm.
Moreover, as discussed in https://github.com/freeCodeCamp/freeCodeCamp/issues/15616 , rewording the instructions would make Profile Lookup challenge simpler and easy to understand.

@prateekgoel OK - I noticed you claimed #15616. That sounds good. So once you fix the wording on that, perhaps you can also see if there's a way to make Counting Cards easier or more clear. Then we can move Counting Cards to immediately follow Profile Lookup.

@QuincyLarson I am sorry but was the above comment for me?

@prateekgoel Yes - it's for you. I autocompleted the wrong username :)

Ok Thanks. I'll do that.

@QuincyLarson - I think @Marmiz is working on https://github.com/freeCodeCamp/freeCodeCamp/issues/15616 as per the discussion.
So once that is done, i'll have a look at Counting Cards challenge

@prateekgoel OK - sounds good :)

@prateekgoel Counting cards for backup/master is here.

Thanks @Manish-Giri . But I mistakenly commented on wrong issue. That was for another issue. Deleting the comment from here to avoid confusion.

@prateekgoel I think @Manish-Giri is no handling #15616 - could you go ahead and start working on this issue in parallel?

@QuincyLarson Sure. I'll start working on this.

@QuincyLarson I reworded the challenge instructions below the table to make it easy to understand. Please have a look and share your thoughts. Then, I'll submit the PR.

....

Write a card counting function which will receive a card parameter. Increment or decrement the value of the global count variable according to the value of card parameter. Refer the above table to see how much the count variable should be incremented/decremented for a particular value of card parameter.
The function should return a string with the current count value joined to another string "Bet" if the count is positive, or "Hold" if the count is zero or negative. Separate the current count and the player's decision ("Bet" or "Hold") by a single space.

Example Output

"-3 Hold"
"5 Bet"

Here are some helpful links:

Switch Statement

Hint

....

@prateekgoel We shouldn't link to an external resources this early in the curriculum. We should instead explain what we need to explain ourselves.

I don't think making copy changes to the directions will be enough to significantly change the amount of time it takes for a camper to solve this.

After spending some time solving this challenge and thinking about it, I'm now convinced that this challenge is too hard. It's asking the camper to do too many things. We should move it to the basic algorithms section instead.

@QuincyLarson I thought to link to external resource as we already have link to the same external resource few challenges before this one.

Still, if you want I can remove the link and include the explanation on using the switch statement.

Regarding moving this challenge to basic algorithms section, I'm still not sure if this would be a good idea as this challenge doesn't seem to match other challenges in the basic algorithms section. I mean it's more of a basic JavaScript thing which uses simple switch statement. How about moving it down in the same section?

Otherwise, I'm fine with moving it to Basic Algorithms section. I am sure you've thought enough and came to this decision.

Let me know your views regarding this. Then, I'll work accordingly and submit the PR.

@prateekgoel If we could figure out a way to reduce the number of things campers need to do to pass this challenge, we could keep it where it is. We spend a lot of time talking about switch statements leading up to this challenge. Can you try and figure out a way to reduce the complexity of the challenge?

@QuincyLarson Sure. I will try it and let you know.

Hello @QuincyLarson ,
I've sent you a message on Gitter. Please have a look when you are free.

@prateekgoel I've responded to you on Gitter.

This challenge could still use a redesign to make it clearer and easier for a beginner to complete.

I'll take this up.

@Manish-Giri Awesome! Thank you!

@Manish-Giri Any progress in this?

Just getting back on this. Will post an update soon.

@Manish-Giri Anything yet?

@thecodingaviator @Manish-Giri Since we're replacing the JavaScript curriculum soon, I'm going to go ahead and close this issue so.

@Manish-Giri We would welcome your experienced hands with our new project-oriented curriculum: https://www.freecodecamp.org/forum/t/help-us-build-version-7-0-of-the-freecodecamp-curriculum/263546

@QuincyLarson Thanks for the update! I'll be happy to help out with the new curriculum. I'm closing this issue for now.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tomasvn picture tomasvn  路  47Comments

pbnj picture pbnj  路  45Comments

thecodingaviator picture thecodingaviator  路  42Comments

mjanusauskas picture mjanusauskas  路  61Comments

QuincyLarson picture QuincyLarson  路  40Comments