100 Days of Code, Day XXIII
Let me start off by saying that I am super appreciative the existence of freeCodeCamp and other programs that exist to teach us plebes how to code. Over the course of the past 23 days, I’ve learned much, and feel I am arriving at a point where I’m becoming comfortable with the writing and debugging process.
However, there are a few things that I have found to be a little frustrating. There isn’t much, to be honest — most of the time, I come to discover that I’ve forgotten to capitalize a letter that needed to be capitalized, or I’m missing the goddamned semicolon at the end of a line. But for the few things that I’ve found to be problematic, well … they’re problematic.
The first issue was a matter of bad setup. In “Use the map Method to Extract Data from an Array,” the problem is setup with a call to print the result to the console at the bottom that includes a
JSON.stringify command. Now, I worked and reworked and reworked the problem and could not get my solution to be accepted. I went so far as to copy and paste the solution directly from freeCodeCamp’s “Get a hint” link, to no avail. As a result, I thought this was an issue with freeCodeCamp, since their own solution wasn’t being accepted. I wasn’t going to move forward without getting my damn check mark on this lesson.
So I started Googling to see if anyone else had run into this issue. I didn’t get very far though. One thing I’ve noticed is the console acts differently on desktop Safari vs iOS, and on desktop, it gives you a preview of the result. Super duper useful, except I’m usually on my iPad when I work through these challenges. I happened to be on my Mac this time, however. And I noticed that the result I was getting was chock full of backslashes, whereas the acceptable solution was supposed to contain no backslashes. I deleted the
JSON.stringify call — which was outside of the code I was supposed to edit— and that solved the problem. I submitted my solution, got my checkmark and then proceeded to the next problem.
The next problem had it’s own frustrating moment. Apparently, by now, I’m supposed to be pro at
this. And this was made apparent as I struggled to solve the problem by emulating the
.map() method using a
for loop. Nowhere was it suggested to use
this. Just solve the damn problem and somehow know that you’re supposed to use
this. After several frustrating attempts at acquiring the solution, I caved and looked at the answer. The verbiage on the challenge page said, “You may use a
for loop or the
forEach method.” The verbiage on the solution page said, “Solve this challenge using a “for” loop and
this.” Even if I didn’t know where to put
this to make it work, having that little tidbit of info would at least put me on the right track to research this shit. But nope. Let’s just assume and hope for the best, I guess.
These are minor inconveniences, really, but they add up to major frustration when a lot of time gets wasted running circles attempting to solve a problem that would otherwise be saved with the correct set up or right amount of information. This seems like a fairly short course, and all of the information is delivered in bite-sized segments with little practice or underlying theory to deepen the knowledge being received. Ergo the frustration when assumptions are being made about the level of proficiency in certain cases.
this is a whole thing. So is the concept of inheritance.
My goal is not to disparage freeCodeCamp, but to offer my own experience in utilizing the program. I obviously find the content useful, as I have completed seven modules out of ten so far, and am close to completion. But I don’t consider how well freeCodeCamp is in delivering the information because I really don’t have much to compare it against except itself. And so these frustrations are borne out of those moments where I feel there is a failure on the part of freeCodeCamp in the comprehension of its own material. For all I know, this could be the best program out there. For my purposes and current pursuit, it very well is.
I just don’t want to feel like I’m hitting a brick wall due to an assumption or a bad set up.