Time spent: I started this late, and even then it took me way longer than 25 days to complete.
Difficulty: I’ve taken DS&A in C++ and in Java, and have been a hobbyist programmer since I was 8. I’ve only really been head-in on Web Development for a year, with a six-month break in the middle. Several problems (that took me days to solve) made me want to to rage-quit.
Learning: Every single time I was stuck, it was because I either:
- Didn’t remember the use case for a specific data structure (i.e.: when to use a linked list over an array)
- Had never heard of the necessary/optimal data structure which would allow my program to finish in non-astronomical time.
Caution/Caveat: If you are a complete novice, this isn’t the way. But, if you are coming from other languages and have some experience with higher-level programming concepts, this is a fun set of challenges with a great subreddit to help you get unstuck. For example, somebody tried to use Rust’s vector processing and their monster i7 CPU to run all 25 days’ worth of programs in under a second to teach themselves Rust.
Types of Experts (per my Discrete Math professor):
- Primary - Knows the answer.
- Secondary - Knows where to look up the answer.
- Tertiary - Knows who to ask for the answer.
If anyone finds themself in a similar situation, and is stuck, I’ll be happy to provide non-spoiling hints.
Hey there, @ilenia!
Still stuck on day 3? (don’t worry about spoilers. We have tags for that)
Yeah, just considered that I probably need to get deeper in the language before being able to solve it
Well, if you look at my post, you’ll see that it improved my understanding of the language. The two sine qua nons of being able to do this (from an FCC user’s perspective) are:
- Have you done the Front-End section?
- You will have already done basic JS, ES6, their basic DS&A
- You will have some familiarity with APPLYING that knowledge to a less-scaffolded problem via React.
- You will have designed and used objects and arrays through
- You will know about array functions like
- Have you gotten the equivalent education of a full Data Structures and Algorithms class in any language. If yes, practice maps those skills onto JS. If no, you have to “make it up.” This concept can be scary because FCC isn’t a class, and doesn’t parallel that structure. However, there are 2 key elements to a formal university class format.
Structure: reading assignments and accompanying homework problems.
- This is written knowledge that you can move through at your own pace (down to a minimum limit of the due date).
- A knowledgeable professor must choose what to teach (select the curriculum)
Interactive Class time:
- A knowledgeable professor must talk about the concepts flexibly (using pictures, gestures, tone, and multiple explanations/examples) and model how to apply them.
- Students also on the same path engage in:
- Asking questions
- discussing the topics with one another during and after class time.
If this info doesn’t apply to you, I’m sure it will help someone else. Best of luck!
I finished day 6 yesterday, I’m going to try and finish more when I get some time later in the week. I enjoy the visualization problems more so than I do the other types, but the puzzles are helpful to hone in your JS skills, I’ve been using node on all of them. The big chunk of time spent so far was making sure my code for each part runs in < 15 secs as recommended, I also read that somebody run all 25 puzzles in less than 41ms using C++, that is nuts…
I’m sure the puzzles are going to get a lot harder, but all in all they are fun, thanks for the review.