[Rant] baby steps to cliff jumping on challenges

This is more of a rant than anything else. I am plugging along, and in general I think FCC is an AMAZING learning environment surrounded by a fantastic community.

That being said, some of the challenges go from super basic to down right frustrating…and when I read about people having the same problems I am having it goes something like (go back, read the basic concepts taught before, apply, rinse, repeat). I agree with that implicitly.

Sometimes however, I find I am doing a mundane challenge that shows me a concept where I don’t even have to think about solving it, I could literally copy and paste the example solution without making any edits (Building Javascript Objects) for example - not much thinking here, follow example - copy paste even.

But the one directly before it - Counting Cards - exactly the opposite. Switch is pretty straight forward, but I spent ages getting on track here and deciding how to attack this problem - and deciding on the return value was overwhelming (I didn’t decide on it - I looked it up)

Switching between level of difficulty that quickly is extraordinarily frustrating. On the harder section challenges that are asking you to combine a number of concepts, I think it would be really useful to first have a very similar exercise that ‘holds your hand’ and walks you through the challenge.

My hope for the future of freeCodeCamp is to go the Khan Academy route and focus on mastery rather than just doing something once and moving on. I think that will be easier once the early curriculum has evolved a bit more, but it will still be a lot of work to create lots of problems with subtle variations thereof (not to mention hints) for each subject. It’ll totally be worth it though, as it will give people more confidence and greater retention for having passed those first few sections. As far as I know, no educational platform has done this for programming, which is a shame considering how effective repetition is for learning.

@trent241, I totally feel you. I had learned the fundamentals of JavaScript and programming long before joining fCC, but from what I’ve seen, I don’t think the introductory exercises are going to give a solid foundation for the rest of the projects, at least in their current form. They were great for me because they gave me an idea of what I’d be expected to know for the rest of the course work. The real strengths of fCC are, I think, the projects and the community, both of which have done me many much good (yes, many much). That’s where the learning happens.

1 Like

I’ve actually spent the better part of the last two years on their math section. To say it’s never been my strong point is an understatement - failing algebra class almost kept me from graduating, twice. Having the semi-randomized questions, videos I could re-watch, and a focus on skill mastery rather than test scores allowed me to go from struggling with 8th grade math to understanding differential calculus. I guess I still wouldn’t call myself a math-wiz, but I’m way more confident now and the skills I acquired are directly applicable to programming. Khan Academy is perhaps the best resource for anyone who feels they can’t learn or has emotional difficulties when it comes to mathematics, and I heartily second the suggestion.

4 Likes

I considered everything above Basic Algorithm Scripting baby steps.

Then i got to Basic Algorithm Scripting and some are really easy others… #ragequit

no idea how to even approach some the instructions on some also made no sense, even clicking run to see what was being tested/results left me stumped, others after a few days i looked at the answers, of which i dont understand… they also dont explain it to me in a way that i can understand.

there recommended topics arent the best and i would prefer something like this added to that area, “go back and use what you learned from this topic”

Trent,

I feel exactly the same way! I feel like I had to cheat a little bit, but I think getting stuck here would be counterproductive. I don’t feel like I skipped lessons or didn’t put forth the effort; I don’t think I had the tools to get this done without some Google action. I think this will be better in the future, but it’s amazing already! I really appreciate FCC.

update:

had a bit of time off the challenges, hung out in chat, helped some people out with the earlier challenges/tried too.

watched others help people out, saw different approaches to things as other people explained bits to people.

have gone back and done most of the challenges just got 3 to go in that section now :slight_smile:

So I learned JavaScript mostly pre-Free Code Camp. I got my start in a college Java course, and then moved to JavaScript via Codecademy.

After completing the HTML, CSS, JavaScript and jQuery courses at Codecademy, I had no idea how to build anything.

I addressed that problem by assigning myself projects, beginning with a simple video game. I had to go back and look up how to write a Doctype statement, and pretty much everything after that as well.

But I kept at it, and after about a week, I ended up with this: http://www.slocodemedic.com/blockblaster/

My next project was even crazier. An app where a user could type in a random word or phrase, and the app would respond with random strings. It would then interbreed these strings in a way that caused them to evolve into a match of the user’s phrase. It took me about a month but this is what I got: www.slocodemedic.com/word_evolution

Now up to this point, I didn’t even know what an algorithm challenge was. I was actually a bit confused about what an algorithm was, period. My Java class had rarely used the term (it wasn’t a very good class.)

Eventually, I found Coderbyte and started doing the challenges there. By then, they were pretty straightforward as I was used to solving the problems I needed to solve to build projects.

I started a coding group and began teaching other people. That was when I really started taking a look at Free Code Camp, and working through the curriculum to see if it would be good for the members of my group. I’ve actually found it educational for me, as well, even though I had a pretty strong background coming in.

To sum up: I truly believe the best way to learn to code is by building projects. Solving algorithm challenges is a secondary method, but a good one. What I would suggest, if you find yourself struggling, is to think up something you can build with mostly skills you feel fairly comfortable with. Then go build the project. This could be anything from a web page to a video game to some algorithm challenges you think up yourself.

They’ll all teach you something, and when you return to the problems you were stuck on, they won’t seem as intimidating.

Just my two cents!

1 Like

Hey @slocodemonkey. I was looking over your 1st project and notice that there is a minor glitch in the “playing again” button. As I would loose (level 1), the button pops up to play again
2nd time loss (any time on level 1), 2 play again buttons
3rd time (…), 3 play again
and so on.

I’m sure you see that and will be updating sometime, sooner or later, as you progress. Unless your testing others to see if they see the bug and how to solve it. My mind is boggling with thoughts of how it is looping somewhere and adding the button every time there is a loss. Maybe that will help in finding the problem. Was it created in a function where it’s being called and adding 1, for the button? Just a quick thought in seeing within your code, in a pseudocode breakdown, I guess. I’m not sure what level I’m at to say what I’m saying, but I can read code and now starting to read code without seeing it (definitely with HTML5/CSS3 and a little with JS).

Refreshing the page again (for accuracy (feeling like a Software Tester)), the glitch is within Level 1 demise/death/gameOver. Dialog box pops up stating “Game Over” and it would loop to carry an additional “Play Again” button. Even when passing to Level 2 onwards, from the loss on Level 1, it would carry over the loop and continue adding a “Play Again”; if I last left off with 2 “Play Again”, pass levels to whatever level, going back to Level 1 adds 1 to the las amount of “Play Again” buttons.

Cool game otherwise. Just needs to get “Updated” sometime.