Freecodecamp: Major Issue with the way FreeCodeCamp teaches!

Created on 28 Feb 2017  路  11Comments  路  Source: freeCodeCamp/freeCodeCamp

I'm definitely a beginner and I'm really looking to actually understand the logic behind each step that needs to be taken when solving the challenges.

I have a major issue with the way FreeCodeCamp avoids actually teaching their campers(students).

Branches like:

  • Basic Algorith scrpting
  • Intermediate Algorithm scripting
  • Advanced Algorithm scripting
  • All the Front-end Projects

1.I consider these to be essencial steps in understanding how to code. FreeCodeCamp completely avoids providing any insight, breakdown, or even direction in solving the challenges.
2.Stating that you will teach how to think like a programmer and then copy/pasting the Read-Search-Ask link is plain lazy. For a beginner that still doesn't know how to navigate or doesn't even know what exactly he needs to look for, this is not just frustrating, it is ineffective and counter-productive.
3.The Helpfull Links that are provided at the bottom of each challenge are often misleading(fresh example:Slasher Flick) and provide a kind of code format, which is different than the one used on this website, which on its own leads to further confusion. I understand that these links lead to principles, which should be simply converted to suit your needs but how can you do that when you are still learning the basics.
4.My overall impression is that this website is more suited for people that actually have some kind of previous experience in coding, rather than for people that are complete beginners.

Take this as constructive critisism. Although, I realise that part of the reason to make this post is my frustration with the content, I try to silence my ego. My primary objective is to learn. I don't feel I'm learning anything at this point. It feels more like paralisis rather than knowing what should be done and then figuring out how it should to be done.

Most helpful comment

I guess no one can learn anything from a book just by reading the Table of contens pages.
Freecodecamp provides a road, a guideline, the rest is up to you.

All 11 comments

I ran into the same thing, but then I discovered that the forums pretty much walk you through each challenge and even provide possible solutions after a Spoiler Alert warning. It would probably be better if the forum and even Gitter chat was given more visibility within the actual challenges.

I guess no one can learn anything from a book just by reading the Table of contens pages.
Freecodecamp provides a road, a guideline, the rest is up to you.

@Kalinaki thanks for taking the time to write up your feedback on the curriculum! We welcome feedback on it and hope to continually improve. Here are my responses to your points based on my opinion and understanding of the curriculum's philosophy.

FreeCodeCamp completely avoids providing any insight, breakdown, or even direction in solving the challenges.

This is philosophy in the challenges is to lower the barrier to which to get started with programming. Programming can be seen as this magically and mysterious thing that only hackers can do. Providing "easy" or straightforward tasks in each challenge gives novices the immediate confidence and motivation to continue learning.

Stating that you will teach how to think like a programmer and then copy/pasting the Read-Search-Ask link is plain lazy.

This isn't "lazy", per se, but it is what you'll experience in your actual jobs. No one is going to teach you everything on the job. You'll have to do your own research before asking others. Otherwise, it'll be wasting your and other people's time. The internet and search engines (and http://stackoverflow.com/) are your friend. This Read-Search-Ask formula is sound advice given by others as well.

The Helpfull Links that are provided at the bottom of each challenge are often misleading

This can be true for some challenges. If you feel they are misleading for a particular challenge, feel free to open a GitHub issue similar to this one to ask for a change and why you think there should be a change. For Slasher Flick, those two links are just suggestions on how to remove elements from arrays. Programming and coding will usually have multiple answers/solutions to problems, which is both a curse and blessing.

My overall impression is that this website is more suited for people that actually have some kind of previous experience in coding, rather than for people that are complete beginners.

As @rahsheen has pointed out, the forums and help rooms are ways to talk with others. Learning to program is facilitated by learning with others. And one of the things freeCodeCamp emphasizes is "pair programming", hence the help chat rooms where you can get real-time feedback on your code.

I don't feel I'm learning anything at this point. It feels more like paralisis rather than knowing what should be done and then figuring out how it should to be done.

This is common when learning in general. You have to keep on using what you've learned to truly "learn" it. Take a look at this Medium article on learning using freeCodeCamp. I highly suggest the forums for reading about how others have learned, their struggles, maybe learn a thing or too as well.

Thanks again for your constructive criticism. I hope that helps in your path to learning to code. Let us know if you have any other concerns or questions!

@Kalinaki just to be clear, I'm not saying that freeCodeCamp is "perfect." There are plenty of criticisms out there for it as well, for example this one recently. I'm saying that freeCodeCamp gives you a community to support your learning and framework to learn from. You shouldn't feel constrained by freeCodeCamp's curriculum either. Again, the internet and search engines are your friend in learning and we appreciate your feedback.

What might be able to be changed is probably to address your concerns in letting learners know what freeCodeCamp is and isn't. It isn't a magic wand to make you a great programmer, but it does let you get started.

@erictleung I'm actually re-learning math on Khan Academy while I learn coding here(although there are coding lessons and videos there as well).
Further more, I hope I wasn't misunderstood with my remarks. I completely understand the idea behind the Read-search-ask method and why it is so important in the field. I also respect the fact that we live in a time where everything is moving forward with a staggering rate. There is something new to learn every other day, one might say. Like many informational videos and articles have stated, trying to memorize every single command and every single piece of information is simply counter-productive. That is why we have computers!
If I was to make a suggestion that will follow my initial criticism, it would be in the lines of the following:
Maybe you could add to each challenge a list of things that could be explored, in the form of hints or suggestions. Example:

  • Think how you could split the array.
  • Do you remember how to iterate through an array?
  • Do you remember the difference between FOR and WHILE loops?

1.Just a few bullet points that can guide you.
2.I also don't know why you don't give links to the examples that were at the very start of the BASIC JAVA SCRIPT course and use them as pointers. That way the knowledge gained from the examples will be able to be applied on the challenges and projects.

@Kalinaki

2.I also don't know why you don't give links to the examples that were at the very start of the BASIC JAVA SCRIPT course and use them as pointers. That way the knowledge gained from the examples will be able to be applied on the challenges and projects.

My feeling is that this is part of each individuals learning process, and I'm not saying this is why links like that are left out, but a lack of links like this _forces_ you to be resourceful. It is up to each individual to utilize the resources that are known to be available, how that individual sees fit.

I agree with @erictleung that freeCodeCamp is not perfect, however, it is a 100% free learning platform, that only exists because professional developers and freeCodeCamp students alike have donated their time to create this content. It's a blessing that something like this even exists, because nowhere else do I see anyone giving this kind of thing away. That said, with somewhat limited resources, it is bound to need improvement in some ways - hence an open forum such as this where we are willing to hear out criticisms, and work as a community to make this place as great as it can possibly be. And don't worry, to me, your comments are not misunderstood, I understand the frustrations of learning, and am glad you have voiced your concerns.

However, as @erictleung hinted at, in general specific criticisms on individual challenges are usually more helpful, and are more likely to turn in to actionable items, as suggestions such as these on such a large scale, can be daunting to implement all at once, especially when we are in such a time of change (trying to implement a newly expanded curriculum).

I think, not 100% sure, but I got into the MUTATION challenge and there were lines written on the side. Then, like suggested, I went to the forums and basically discovered the same information that I assume someone took the time to write rather swiftly. When I refreshed the page the lines of text were gone.
This is exactly what I mean. Sure, the information is out there(in this case hints provided by a bot for the challenge on the forums). But why move this information to another location? This, for me, is CRUCIAL/ESSENTIAL information for someone that is just starting to learn. Even a 12 year-old can go and ask Google(there are 12 year-olds that are definitely better than me), but when you are learning it is mandatory to provide a STRUCTURE. You already have an established curriculum, a system so to speak. The sub-systems are equally as important in my eyes. You can remove such hints when things start to go deep but it needs to be gradual. You can't assume that everyone can swim up the stream with the same pace.

P.S.
I did really just visit the forums for the first time. I'm glad I did it now at the end of my Basic algo scripting challenges and tried to push my way out, because it is such a huge temptation to resist. You provide all the answers, which is understandable but at the same time a double-edged sword.
On a side note, I'm using the chat to great success. The people there are awesome and I can safely say that I LEARNED MORE and SAVED MORE TIME there, rather than scrolling through stack overflow or any other resource.
Like no-stack-dub-sack said, at the end of the day every single person approaches problems and learning their own way.

One peace.

@Kalinaki : Hey Kalin,

Thanks a lot for the issue, and the feedback. This helps us understand our audience/users (especially beginners like you). Trust me I share your frustration, but that said we are constantly trying to improve with suggestions and feedbacks.

I'll give you an example, why this is true.

We moved the wiki/help articles to forum, because that way they get a better search and edit feature. They can be constantly updated by the community.

We are in process of adding the articles in a tagged searchable format within the freeCodeCamp website, so you need not look up separately on a different resource.

Let me reassure, we definitely take these arguments while considering our long term goals. But I hope you understand, this being a open initiative takes time to get all such features in place.

So we request your patience.

Now having said that, I think this issue is a candidate for to be discussed in the forum. We will get more feedback on having a better UX than what we have now? The tracker IMHO will get lesser eyes and community feedback, and we are trying to keep it for immediate codebase issues.

I am closing this with that note. Please feel free to discuss on the forum and should you be interested, we would love the ideas like you said about connecting learnt concepts.

Do tag us for a follow up in there.

Thanks once again and happy coding!

I would like to mention that we're planning on removing the MDN links, and adding hints in the beta. I can't show much yet as it's still a work in progress, but this seems a lot like what you're suggesting.
I really like the idea of linking back to challenges that introduce a method, rather than the MDN page. I'll keep that in mind.

Interesting discussion . For a free resource, I think FCC does a decent job in teaching code . I think I am the dullest and slowest person out there., but I was able to build a website and write javascript within 6 weeks of working on FCC. Now one thing I will say though is that I wish they could explain the reasoning behind certain code better and also give better hints on tasks. For example I did not understand FCC explanation on "for Loops" so I went to codeacademy forum and someone explained it very well in very simple terms for people like me with absolutely no programming experience. I also watch a lot of youtube videos. If i was paying for FCC i might have been more upset because they really skimp on actuall tutoring . @Kalinaki I recommend that you buy a book to accompany your learning process so that you understand the logic behind why certain code is written in a certain way. But man yeah ..I feel your pain but dont give up.

that is the point, when making your own project or idea, you will not have a guide. As for your last question, freecodecamp should not be your primary resource, if you are not understanding something, try to get a different perspective. If you know the concepts but are struggling to find a solution, try pair-programming, your partner will fill in the gaps.

Was this page helpful?
0 / 5 - 0 ratings