Do i have to solve a problem or do a research?

I’ve noticed that some challenges includes some kind of problems that are a little bit need a research, to understand the topic of the problem first then solve the problem, so why do i need to do a research for a subject that i am not interested into in the first place?!, for example “DNA Pairing”, or “casino game Blackjack”, why in the… do i need to understand “casino game Blackjack”, like come on are you out of ideas or what?

the challenge instructions tell you enough to make the function

You as a chemistry student, may find those problems easy, but how about an illiterate person?

there is one problem that requires external sources, which is Map the Debris, the last one before the projects.

the others require reading comprehension

Golf Code

Card Counting

You will write a card counting function. It will receive a card parameter, which can be a number or a string, and increment or decrement the global count variable according to the card’s value (see table). The function will then return a string with the current count and the string Bet if the count is positive, or Hold if the count is zero or negative. The current count and the player’s decision ( Bet or Hold ) should be separated by a single space.

I can’t find the others, please provide the links to the challenges you are talking about

Didn’t you consider wrapping that reply in [spoiler]?

I just quoted the challenge instructions, there is no spoiler there


They are in the curriculum, a quick walk through will do …

only basics javascript has more than 100 challenges, I am not going to carefully read the name of each one to find the one you are talking about. If you have a question about one, please provide the link to it.

I know of Ctrl+F, mobile browser doesn’t seem to have an alternative.

C’mon , i think Chemistry is more complex, than reading the names of the challenges.

you are asking me to spend a lot of time searching for the thing you are asking a question on. I will
not do it.

if you want the answer, give the info needed.

There’s little point in reading through all the challenge descriptions, none of them require extra research, with the only exception being “Map the Debris”, which was already mentioned.

1 Like

FreeCodeCamp is backed by thousands of volunteers.

If you are not happy with the content or think the volunteers are out of ideas, we invite you to contribute.

1 Like

sure! how to? (+20 characters)

You can click on my blue contribute link and read about all the possibilities.


Ok thanks, <3 (+20 characters)


Your question is irresistible. I am a language teacher, English and German, so I have been making exercises for 20 years. OK, please accept this. Making a good exercise is very difficult. It cannot be too hard and it cannot be too easy. It has to include the knowledge the student has acquired and nothing else. Yet it has to be challenging and fun too. You want to create a diversity of exercises and not always the same trick.
It is a lot of work and I don’t think the FCC’s exercises require much research.


I don’t know blackjack either or DNA pairing. So, I think your reaction is natural. If you can explain exactly what it is you need to research, exactly what info is lacking from the instructions, it may help FCC to clarify their instructions.
I may see where you are coming from. What I always stumble on, be it on FCC or some other platform is the problem of reading what is there. I loathe technical documentation. I do so hate it and I must have wasted months and months not reading the instructions properly. Technical language is literal and detailed. I interpret things, I skim, I get the gist of stuff. It’s deadly, time and time again I realize I haven’t read the instructions properly. So, good instructions are essential and if you can contribute to making them better, please do so.

Happy coding,


These challenges require what is called"domain knowledge".

You don’t necessarily need to be an expert to have some domain knowledge. You also usually aren’t “left to solve the entire domain by yourself”. The idea of using these examples is that in the real world you are often presented with a problem you need to learn more about to solve. This is more common than being presented with a problem for a domain you 100% already know and understand. Or being presented with a problem that asks for specifics of how to code it. Often you have the freedom on how you code it, but you don’t have freedom on what the actual problem is.

There are situations where the actual problem requires domain knowledge that isn’t anything you could gather yourself, or actually isn’t known by anyone. For example, if the DNA paring challenge asked you to write a function that can fix any DNA sequence to prevent cancer. Such domain knowledge is beyond what any human actually knows, let alone knows how to code it. A more reasonable real-world example would be implementing existing domain knowledge into code so it can be automated, and replicated. This is where a domain expert comes in, and you work with them to help you build your solution for their specific domain.

FreeCodeCamp purposely picks a few “domain problems” for some of its challenges to create a situation where you must identity the solution within a potentially unfamiliar domain. This will force you to spend more time to understand the problem before trying to build a solution for it. Such processes are one of the key parts of software development, often you build stuff for other people, and those people might not actually know what they need! Its your job to help them by understanding the problem, and then building the solution that works best for them. :slight_smile:

Programming is more than writing code, often you need to spend some time and effort to understand the problem before even writing any code to “solve it”.

So yes, the challenges are working as intended. The world is not made of challenges that spell out exactly how your code should work. The world is made of vague problems, some of which we have no answers to, and its your job to solve these problems and then write code to keep solving them!

Good luck, keep learning, keep building! :smiley:


It does not matter if you are interested or not. It gives you an extra example of how to use it. Everything helps for a little more understanding!