Are we allowed to question whether certain challenges are not needed?

I was told that we are not allowed to do this. Just wondering why. To me certain of these challenges are overemphasized and other subjects would be better.

I sure could be wrong but I am open to an explanation why I am wrong. I could be missing something.

But it seems to me, to help other people and myself, that we should be allowed to discuss these matters.

If not there should be something in the guidelines that says we cannot ask for the reasoning behind certain challenges.

I think I know what you a referring to and nodoby told you that discussing isn’t allowed. You were just told to do that in a proper manner.

You can discuss matters like you are doing right now, not in other people’s threads where you are completely off-topic.

Well I guess that could have been conveyed to me in a more collegial manner than what it was.

I was reading a question a camper had about this complicated data manipulation in JS and wondered why this is so emphasized. i commented in that thread that it seemed to be not needed. That seemed to me to be the best place to discuss it. Obviously since I was not allowed to post in that thread no one can see the code example and why others might think it is not necessary.

Do YOU feel all this emphasis on JS data manipulation and arrays is really used that much. I have not seen that. I sure am open to anyone showing me how I am wrong and seeing this incorrectly.

But to call bringing up this subject ‘a rant’ is a very unkind way of responding in my opinion.

I do not think it was ‘completely off topic’. I see people here struggling over these trivial puzzles when they could be building real websites. Seems that FCC moderators do not want posters to indulge in critical thinking.

I didn’t see the original posts referred to so I don’t know which ones you mean by “certain challenges”, but you need to be able to competently manipulate data if you want to become a professional developer. An array is a fundamental data type in many programming languages, including JS.

If you’re only interested in UI design rather than programming per se, you can probably get away with not learning too much about this stuff, though it’s still useful to understand at least the basics.

Well that is my point: since I am not allowed to post my comment in the thread that where I saw the situation it is very hard to explain.

I do not think that knowing how to solve these puzzles will help you to get a job coding. There is a big difference between a ‘puzzle’ and and exercise which trains a person in a certain technique or concept.

“you need to be able to competently manipulate data if you want to become a professional developer.”

you do not see how your comment is circular logic?? think about the comment a bit.

My two cents:

I think it can help to think in a more “developing” way, like you were already told; I don’t think the specific algorithms are necessary in every front-end-exclusive-job but they even help by just forcing the user to go and read (or ask) about stuff that he doesn’t know about, which is a very important skill (knowing what to search, that is).

Also, they give a sense of satisfaction when solved which, again, I think it’s important to a people state of mind. It keeps them going.

With that said, there is a thread from a user who got a job focusing on projects instead of algorithms; it all depends on what you want to do and what you are good at. There are people who suck at algorithms (me included) but excel in design and there are people who, instead, are a natural at algorithms; there are jobs for both those kind of people.

From my point of view, FCC algorithms challenges are just that. Challenges. You are not forced to do them and there is no indication that being good at them will grant you a job but they can help to, well, challenge yourself, think, and maybe learn something you didn’t already know.

Well my point is that FCC in general and the posters I see here put a lot of emphasis on this ‘puzzle solving’.

And I think there are many other ways to learn these concepts beyond these puzzles. It is interesting to me that so many will stick to defending this type of pedagogy without question.

I guess what I would like to say to some of these campers who express spending ‘hours’ trying to solve these puzzles is to move on quickly.

I think a small part of webdev is concerned with this intense data manipulation. I know people will come back and say ‘you cannot be a competent developer without this skill!’ and give no logical reason why they believe that. It is sort of like a maxim: look before you leap, he who hesitate is lost etc etc.

And is there really that many open spots where a mediocre ‘developer’ can get a job? I think you have to be in the top 20% just to get work. The competition is fierce and I read stories of people who are broke and almost homeless pinning their last hopes on ‘keep on coding’ in the quest they will get a job. I read there are only about 150k webdev jobs in the USA and really few openings. And I just pity these campers busting their brains trying to solve petty puzzles.

But I think over all FCC is a very good concept and website. VERY GOOD! But I do not think it should shun criticism.

Why not cut-and-paste from the other thread and simply start a new thread focused on the angle you wish to take the discussion in? Seems like a simple solution to me…

If you’re talking about the algorithm challenges, they’re designed as simplified applications of fundamental programming concepts (string manipulations, filtering data, conditional logic, etc.)

For example: it’s unlikely you’ll ever need to make a Pig Latin generator, but performing similar operations on string data is very common. Let’s say you have an online fruit store. You might want to output natural-language strings as confirmation messages: "Successfully added ${quantity} ${fruit} to your cart."

// pseudocode
if quantity == 1 and fruit begins with vowel:
  write "an" and singular form of fruit
else:
  write quantity directly and plural form of fruit

You’ll notice that the vowel check is very similar to the one you need for the “useless” Pig Latin generator challenge.

When “this skill” refers to data manipulation, it’s not so much a maxim as a tautology. It’s like saying “you can’t be a competent farmer without understanding crops or livestock”.

1 Like

rick, why not just allow comments about the code in that thread?

I guess what I did not like is the rudeness that I had to endure.

lionel,

have many years have you spent programming? esp on webdev?

I am sorry I just disagree with the amount of JS puzzles presented on FCC but I thought the html and css and bootstrap sections were excellent.

We used to teach Latin because they thought that language was the ‘root’ of English. Thank Darwin they finally got enlightened.

Part of the mystique of teaching is to make things seems mysterious and then come up with the oh so clever answer. A teacher who breaks things down simply will not seem that divine.

Less than one (and zero professionally), but I know and work with plenty of web developers.

The Latin analogy is fatuous. Latin is a dead language; JS is very much alive.

1 Like

Wow you missed the whole latin concept. Anyhow I guess we have to agree to disagree.

Do you get the difference between solving a puzzle and solving a data manipulation problem.

Just curious: do you think solving those word problems like 2 trains going in opposite directions at 5 miles apart when will they collide are useful in real life?

Taking some data and manipulating them. Taking a specific transformation from [some datum] to another form, and generalising that so it works for many different similar data. Gluing together lots of these trivial, simple parts into more complex parts. That’s at the core of what programming is, why programming is useful. Programming is about dealing with complexity: you keep chopping a problem up until it is just a collection of these tiny “trivial puzzles”, then you solve them one by one.

The way you’re going about this is going to get peoples hackles up, because you’re criticising contributors’ work without any attempt to be constructive. What do you mean by “real websites”? It’s so broad a request as to be close to meaningless*. With a specific goal, starting at that high a level is viable, but that’s an entirely different kind of curricula to what FCC offers. These courses exist all over the place - focussing on building out a single application from start to finish, gradually exploring the concepts (the Ruby on Rails tutorial book is a good example). But those don’t teach the basics of programming, of a programming language, which is what FCC is trying to do with JS. That’s not to say it doesn’t fail in some respects, but writing a curriculum that works is a seriously difficult thing to do.

* Static, one page advert sites, like portfolio-style things? Multipage traditional sites? Product/News sites with huge numbers of discrete but similarly-themed navigable endpoints? Informational sites? Interactive sites? Line-of-business applications? Learning sites? Single-page, javascript-heavy app-like sites? Apps? If so, what kind of apps? Multiuser apps, like chatrooms? Twitter-like sites? Forums like this one? Productivity apps like Jira? Calculator apps? Games? Why just websites? Why not command-line applications? GUI applications? Embedded applications?

3 Likes

Dan,

Like I said I thought the html, css and bootstrap sections were excellent. the over all concept is excellent. the forums are excellent. FCC is one of the best education sources I have run into.

BUT,

I still feel the JS part is not correct. i see so many people getting very discouraged around there. And for little reason because little of programming is based on those concepts.

Please think about the difference between a puzzle and a learning exercise. You really learn little by solving a puzzle.

you are allowed to contribute to fcc in any way.