Anyone else - just - not - getting it? Help! Suggestions?

I get that learning a new language is challenging. I know it’s not an overnight success. And I understand that HTML and CSS were easier for me because I had some minor experience with it working on a personal WordPress blog. I mean, not a lot, but enough to visualize what I can manipulate to my liking (usually).

But JavaScript? I finally made it to the ES6 section and every single time I have to look up how others completed the challenge because for some reason I cannot understand the problem we’re asked to fix and how to create a solution.

I can’t visualize how it will help in conjunction with HTML5 and CSS3. I don’t understand why we’re using the codes we’re using. Even when there’s some sort of logic for a particular challenge, it will not connect in my brain.

I’ve read other posts writing similar things and people saying, “oh don’t worry about why you’re doing it, just do it.” I have tried. I really have. My brain won’t stop asking why. I need to understand.

And all I’ve done is stumbled through every single challenge under JavaScript to date. I am an intelligent person who just wants to learn and understand and maybe one day make a difference. But this JS section makes me doubt myself at every turn.

While I’m incredibly grateful for this forum and solutions offered on the challenges, they normally just don’t help me fully understand. It’s usually “this is what worked for me” without a proper explanation of what made them choose that particular way.

SUGGESTIONS???

For those of you out there who have gone through this when dealing with JS, what ultimately got you over the hurdle? I cannot be the only one completely new to tech, right? Did you stay with FCC to learn JS or did you go elsewhere? Help?

I found a link to the free online copy of You Don’t Know JS (on GitHub) and that’s helped some. I’ve only started the 2nd chapter of the first book today.

Someone else mentioned Watch and Code’s free JavaScript Course in a different thread.

Others swear by CodeWars - after I signed up I got stuck on the first challenge (slams face into hands).

Should I switch to The Odin Project’s section on JS? Try it at CodeAcademy?

How good is Khan Academy’s Intro to JavaScript?

I just really like the idea of having both projects and a certification saying that I learned something as a way to help future recruiters put me in the “maybe” or “yes” piles for possible interviews later, you know? I’m sure you can’t get certifications for every computer language, but still. That’s why I’m still working with FCC on JS.

Hopefully, I won’t feel this way for long and it won’t reoccur with the next course in the curriculum.

3 Likes

For me it’s the other way around, HTML and CSS make no sense compared to JS

With pure JS I write down what I want to do with basic data structures like arrays and objects and it makes sense to me at each step and seems natural

The DOM and front end things in comparison seem complicated and ugly, and I came to FCC to learn them

That being said, and even though later editions of CSS and HTML features have changed this somewhat, you can think of HTML as the raw structure of the page, the CSS as the style of the page, and the Javascript as the dynamic control of the page.

Obviously in recent times this has changed somewhat, e.g. with web frameworks such as React you write a modified form of JS called JSX which handles all three together, etc

I think after a few sections of the JS you’ll like it a bit more, but everyone’s different!

3 Likes

The JS course on Watch and Code is one of the best beginner courses on JS that I’ve seen and would highly recommend, if you haven’t done that yet. Alternately (or afterwards), you could also do this course on Pluralsight, which is also really good for beginners (it’s possible & easy to finish it within their 10-day trial): JavaScript Course: Basics for Beginners | Pluralsight

Unfortunately, FCC certifications have no value in the real world, and recruiters won’t really care about it. The only education that recruiters tend to put stock in are college degrees, and even then those aren’t always a guarantee. The best thing to do once you gain knowledge is to practice and code, and build projects.

2 Likes

I felt bad for you reading this!
I wanted to give you some feedback on a couple of things.

Why!?!
This is the main gist of what I got from your post. You are the type of person who likes to know how things fit together before you can appreciate them. That’s fair (I actually am like that too). Here’s why.
I’m guessing you have only worked on webpages that you know exactly what they will look like from moment to moment? You can probably close your eyes and tell me exactly where everything is ?
This type of website is called a ‘static’ website and it is very common online. But what is becoming more common are websites like Amazon and Ebay. Think of a website that is always changing. Product comes in, it gets sold, new products come in, some get returned. People add big and small images of their products. People add more or less words describing their products. People want to sell different types of products and relate them all together. People want to know what your browsing history is so they can jack up the price of their products. People want to track your mouse clicks (or eyeballs!) so they know what you are really interested in and how to anticipate your purchase decision before you make it. And that’s just talking about e-commerce sites.
We’re not even talking about healthcare websites, or sites that track satellites movements, or even anything remotely complicated (ha!).

Once you add variability to the elements that a webpage must display, and once that variability cannot be predicted , you must then resort to a ‘higher power’ which is programming (versus markup languages like HTML and CSS which don’t program anything). And by programming I mean, figuring out a way to handle all the variability without writing more and more and more and more and more code for every different thing that you come across that needs to be added to the page.

Another eg. You make a table, you put all the values in the table. Right now you do that with HTML. What JS does is it lets you do that ‘away’ from HTML. You can start getting real live data from twitter for example and populate your table. Imagine your table able to to update itself and list the highest ranked tweets of the day. And you having to not lift a finger! It just does it! This is where dynamic web pages come in. Variable data, variable layouts and no way to predict them. Just a way to code for them so you can handle them as best as possible. (HTML and CSS alone cannot do this).
Or think of this FCC webpage and how it displays each person’s photo. It can’t do that with plain html and css. Something powers it to dynamically figure out who we are and update what we see in the browser accordingly.

Another thing I want to say is about Khan Academy. I tried their javascript course which was fun (you get to do animation) but it doesn’t really help you see the connection that you are seeking.

As for suggestions, I think you probably just need to read a good “introduction to computer science” book. Something that shows you the scope of what can be done once you learn to code would probably help bridge that gap for you.

Wishing you the best as you progress in this site and other endeavors!

8 Likes

In terms of FCC on its own, these exercises are preparing you for the Projects you will build. For some of the more advanced Front End projects, a lot of Javascript will be required for functionality (retrieving data, tracking state, etc). Learning about functions, strings, filtering, and so on are very important to learn before diving in to build stuff with it.

As far as the clarity of “why the code works”, this was kind of a weird thing for me. Every once in a while I would just “get” something. It’s difficult to say why this happens, but I’d like to attribute it to repetition. A few years back I went through all of the JS courses offered on Codeschool and remember stumbling through the last JS Road Trip badly, having no idea what I was really learning. I revisited that course ~ a year ago and was able to eat the info up (after lots more JS training and exercises).

One thing you may be interested in doing parallel to FCC is a course called Javascript30 by Wes Bos. It takes you through 30 fairly simple exercises where you actually build something using Javascript. Maybe between another way of learning, building some stuff, and sticking with the FCC curriculum you’ll have some lightbulb type moments.

Anyways, best of luck to ya! :pineapple:

2 Likes

As someone who went through that, the best I can tell you is to forget about HTML and CSS for now, otherwise you’ll be always wondering how this JS code is going to be help you when building a website or an app. For example, most JS introductions talk about variable, string, etc, you probably understand how to store a string in a variable, but you can’t see its usefulness just yet, especially if you want to relate it to HTML and CSS. For now just focus in understanding the logic of how the code works.

Javascript is hard, especially at the beginning for someone new to tech (like most of us), but it can be learned. I am telling you this as someone who did not know anything about JS, like at all. Now I know a few tricks, and I’m still learning and there a lot of things that I don’t fully understand yet, but I know I will, with time and practice, practice, practice. Because no matter how many tutorials you do, how much you read or how many videos you watch, you have to get your hands dirty to finally understand how things work.

If you want to see how JS is going to help you with your HTML and CSS I can recommend you to go to youtube and watch a video of how to build something basic like a todo list, that should help.

1 Like

@gebulmer Thanks for taking the time to reply and providing your take on things. You’re right, I do need to keep going with it. I’m hoping with time and practice I’ll enjoy it more (and hopefully, be less frustrated with it!).

@astv99 I’m glad you like the Watch and Code course. That Plural Sight link seems promising too. And yeah, I have no intention on relying too heavily on certs but if it makes recruiters from non-tech businesses like me a little more, I want to use it! Haha! Hopefully, they’ll visit my online portfolio site instead (you know, once I build it)! Thanks for your input and suggestion!

@hbar1st Yes, “WHY!?!” is a big motivator for me. Haha! Not just here, but everything in my life lol. Yes, I’ve only dealt with static sites so far. It’s actually how I decided to start learning more about them and ended up starting out with FCC. :slight_smile:

This part especially helped me get a better idea of how to view JS. Would it be safe to say, in this example, JS automates things on the behalf of the programmer?

And you’re probably absolutely right, I should invest in an Intro to CS book. Thanks for your insight. Are there any that you recommend in particular? Maybe some that are meant for the non-college crowd - or at least, doesn’t assume you’ve been into computers since your preteen days? lol

@4trio19 Thanks for sharing your experience on initially stumbling through JS like I’m currently doing. :slight_smile: It gives me hope, knowing others had trouble and are now doing much better. Sounds like tons of practice and time will help me out (as long as I’m consistently working on it). And thank you very much for the JavaScript30 suggestion! It seems promising (also his landing page for JS30 is funny)!

@Gilbert1391 Thank you very much for responding. It really is nice to know I’m not alone in the stumbling process lol. YouTube is slowly becoming an important learning ally for me! Do you have any favorite YT channels you follow for this kind of stuff?

Again, thank you all for helping me with my own frustrations. I’m very glad this forum exists! Maybe one day, I can come to the aid of someone going through this very issue and provide encouraging words the way y’all did. :slight_smile: :

Definitely wesbos’ Javascript30 course is a good start to understand why we do javascript alongside CSS and HTML. When I watched the JS Clock, I am amazed on what could JS do on HTML , aside from doing mathematic operations on javascript and displaying them. Although manipulating data is essential in developing, making animations with HTML CSS JS is a lil bit challenging for me, and this course opened my mind more. :slightly_smiling_face:
I wish you happy coding!

JS took me a long time to learn. it’s one of the most difficult languages out there. However it really brings the dyanamic content of the web to life. You just have to keep going until it clicks.

1 Like

So let’s take this a bit further since you relate to it most.
When you sign into FCC forum you see what is essentially a table of values. The values are all the posts we make. The posts are categorized by the author (but can be re-categorized or even deleted by moderators). The posts collect likes and comments (at random and unpredictable rates). The posts ‘age’ as they sit untouched but when anyone responds to one, they’re pushed to the top of the table. The posts live in a database somewhere and there is obviously some html and css involved in showing these and the interactions that are shown on them (likes, flags, responses, category etc). Though you could write some html and css to look like the FCC forum, without a programming language the html and css will be static and not respond to users the way the FCC forum does now. (unless you have hundreds of minions to sit and re-sort the posts for eg every time someone comments, or someone to update the age of each post as the days go by or someone to add the total number of responses minute by minute and update the page).
If you don’t have hundreds of drones to sit and do all of that, you utilize code (for eg. javascript) to go in and perform ‘surgery’ if you will on the page. The code is able to connect between the data (what the many users are doing) and the live effects on the page (i just commented on your post for eg. so your post gets pushed back up to the top of the latest stack). For the posts to show these changes (both in page position, age, number of likes etc), someone has to edit and re-edit the html. (the code does).
What you’re learning here is how to write the code to do this dynamic stuff. But in order to get that far into it, you are taught first how to handle data (eg. arrays and objects) and how to do code conditionals (if statements etc) so you can have some facility with it when it comes time to use that data in real-time to render a page. (hopefully you know what i mean by ‘render’). I think that’s why you may have received advice to just go with it and learn the topics without worrying about the why of it all. (if you’ve ever looked at a sewing kit’s contents and thought, meh, i don’t need these things. Then later a fav clothing item’s hem gets undone in the wash and then you realize how useful all those little things in the kit are… It is basically the same idea. You’re learning to sew but you’ve never experienced a tear yet… Once you experience one, all the weird things in the kit start to make sense - the thimble, the seam ripper, the weird looking tool that turns out to be useful for threading a needle, the tiny seemingly useless scissors (that cut thread better than regular scissors!) etc.)

I myself have been a software developer since my early teens (when I first met an Artificial Intelligence chat bot and got hooked) so I can’t suggest anything from my own personal experience but I heard that Harvard’s online (and free!) Computer Science 50 class is very good (https://online-learning.harvard.edu/course/cs50-introduction-computer-science)

1 Like

There are lots of good suggestion here but I just wanted add a couple of thoughts/opinions:

  1. I think part of your problem might learning how to problem solve- JS and HTML/CSS are tricky and it takes time and practice to being to make good use of them. Take a look at the html spec if you want to see how complicated they can be: https://www.w3.org/TR/html52/
  2. I don’t think that you will ever (or anyone) fully understand everything with JS/HTML/CSS- There is always another language/feature to learn. Being able to use the new languages/features is often more important than fully understanding them.

I think you are on the right track as being persistent and asking ‘why’ are in my view the most important traits of a developer. If you stick with it, I have no doubt that you will get to the point you want to be at :smile:.

If you want to improve your problem solving skills and get used to using some things that you might not fully understand at first, then I would second @hbar1st’s suggestion that you take a look at the CS50x course. It has options for people who are new to programming and for those with some experience. Most of the students who take it at Harvard are completely new to programming and so, they start from the ground up. I have taken it and my only regret is that I didn’t do it earlier than I did- It really helped me get better at solving problems and working out how to approach a task that before would have seem insurmountable.

You can take it via edX:

Hope this helps and good luck :slight_smile:

Hi! I wanted to mention Eloquent javascript, scrimba screencasts, and youtube videos from Beau Carnes, in addition to other mentioned resources, that have helped me figuring things out. And always a good thing to do is read the documentation, for example: MDN and W3Schools, etc.
Be really patient, if it is not today, maybe tomorrow will be the day! Just keep going and learning. :slight_smile:

1 Like

The problem is the mindset

A lot of smart, educated folks tend to struggle with code and the common limiting belief is that code is hard to grasp and takes many hours to comprehend.

However, they also don’t quite understand why so many people are able to pick up on it so quickly and build these elaborate web or mobile applications. Not mention how they can explain programming concepts with such ease and spot where you’re making your logic errors and hard to spot syntax errors.

“Why is this so hard to understand? I’ve read and followed along to the coding walkthroughs. Though, writing it out is an absolute struggle! IT SHOULDN’T TAKE ME THREE DAYS TO WRITE THIS JS ALGORITHM”

What exactly is the problem

And it shouldn’t! algorithms can be difficult, but not at the cost of sheer effort. In fact, if one can write it out by hand and think it through, they become much easier to manage. Stepping through to your solution as a problem solver is going to make life a lot easier. On the other hand, trying to remember array methods from rote and sticking values inside syntax like you would using an academical mindset is going to make things very, very difficult.

Academical vs Problem Solving Mindset

Taking an academical approach is basically taking a linear approach. There are a start and an end. You first learn fundamentals in introductory courses, then move on to more in-depth courses that explain the “why” details, and finally, you finish with your curriculum.

Congratulations, you’re a doctor (or lawyer, or engineer, or English teacher or whatever)

You can’t understand a particular topic until you master the previous material. It’s a synchronous and absolute mindset which consist of rote learning and introspection. This was a mindset I used when I started to code too and much like what you’re encountering it all started when learning javascript through the algorithm section.

I figured if I went through the walkthroughs and thought about the different concepts of arrays, objects, variables, prototypes, functions, closures, and the different predefined methods it would help me to think like a programmer. However, I still struggled through the algorithms. I would write out what I think I needed to build the algorithm but soon got quickly confused what to do next to pass the next test. After that, you start mixing up the “why” with the “how” and get decision paralysis. That confusion soon turned into becoming overwhelmed, and I was literally trying anything to get it to work with all the stuff I learned through rote. It was much like those homework applications you got in pre-algebra in college, where you worked through a series of problems until you completed enough them before a certain deadline.

You felt awesome when you got through them, but that was just it, you got through them. You didn’t really learn anything other than what answer belonged to what problem. I would be stuck on intermediate algorithms for days, sometimes for a week’s time. This was even with all the help I could get on the gitter chat when that was still around. The only way I got the solution is when other experienced campers would spoon-feed me the solution.

How vs. Why

It wasn’t until I hit an epiphany after doing one of the front-end projects that my mindset wasn’t going to cut it. I had to take on more of a problem-solver mindset.

There are several factors that make the problem-solver mindset different from an academical mindset. A problem-solver doesn’t learn in a synchronous fashion. She dives in the middle and learns bi-laterally between concepts. This is because she just needs to learn what’s needed to fix the problem. The “how” always comes first. Then when the problem is solved, she’ll determine the “why” behind her solution. For instances, take the approach to solve an algorithm. Trying to solve it with the code will open you up to both figuring out the logic AND which syntax to use. It’s much easier to think it out and manually write your solution on paper. For one, it’s a piece of cake to double your values in your written array. Just start with your first item, multiply in your head with two, add that value in a new array, and keep doing it till you run out of values in your array. From there you figured out your “how” through the shortest and easiest path.

Transferring that manual work into code will be a breeze. The only thing you need to do is use the right syntax to build it. I challenge you to use this approach on your next coding problem by manually writing out your solution and then coding it.

Studying vs. Building

“Well, that’s great and all but I’m still getting confused on the concepts. Array methods, prototypes, this context… don’t you think I have to study these concepts to use them effectively??”

Yes. That is a valid point.
And I won’t argue with you that some rote learning and ahem, “studying” is needed to understand a language’s constructs.

Although, to say “I’m studying code” would still be in an academical mindset. Doing one tutorial on javascript and finishing the walkthrough only to move on to another tutorial to teach the same thing in a different way isn’t going to make coding any easier. Maybe for taking final exams for Biology or Physiology but not coding a ticketing system for an IT department for a mid-size organization.

Stop “Studying” and Start Building

Seriously, you need to stop “studying” code and start building small, iterable applications with what you learn.

Take whatever you learned from FreeCodeCamp, pull up https://repl.it, and start fiddling with it. Try to see what you can create. What happens if I put a null value as a parameter? Can I take all these arrays of arrays and combine it into one array? How can I make this more readable? This is how a problem-solver mindset works. They use this opportunity to learn by building.

Conclusion

Most smart, bright people end up giving up on becoming a developer because they end up using an academical mindset to approach coding problems. Their approach involves learning in steps from start to finish because they are taught to learn synchronously. However, programming is an applied science and requires one to learn based on the problem she is solving. She’s more of an effective learner when she takes programming concepts and uses it to solve tiny problems to satisfy her curiosity. Thus, the problem-solving mindset is a better approach.

6 Likes

Is there anything specific that confuses you apart from how JS will later connect to HTML/CSS ?

For example for me, one large hurdle was that I’d started with jQuery which distorted my understanding, and then of the biggest hurdles was understanding arrays and objects and when to use one and not the other, how to loop through them, and the fact that everything in javascript is an object (and therefore that’s why dot notation, which I thought was really weird, worked). Once I understood that most things clicked into place and it was just a mostly a matter of syntax (ES6).

The only other large concepts I remember I struggled with a bit where this, prototypes, regex, using frameworks (React, Vue, etc) , the ecosystem in general (node, packages, webpack), and now http/server communication.

As @DanStockham has better gone into, the best way to learn is by building stuff, and imo, working on your own projects (even if you don’t finish most). I got part-way through FCC until I just ended up working on my own personal projects in the end and just learned way more much faster, although my learning is kind of all over the place (but it’s much easier now for me to learn anything missing).

I would suggest you start with something that you need, preferably something simple (unless you’re the type of person like me – a complete masochist – that likes to start with impossible years long projects). I too tried sites like CodeWars but when I got stuck on some algorithm, there was no motivation for me to keep going and when I succeeded I felt no pleasure. There was no sense to what I was doing. Instead on a personal project I knew somehow I had to get from A to B and I just kept trying because I wanted the end result so badly (there was no other way to do it that satisfied me), and when I got it working, even badly, boy that rush is so good.

And if the why of something haunts you, if it’s something you can look up, then look it up. I don’t really believe you should do things blindly, you might understand in the end, but nothing like understanding the why.

If we’re talking about the why of an entire solution to a problem, I would suggest first, do not immediately start trying to code the solution to a problem. psuedocode it first. Or if you peeked at a solution, try to write what it does in psuedocode, then do not look at the code, just the psuedocode, and try to code your own. Till this day especially for more complex problems I still often use a whiteboard or write down how I might approach the problem on paper. Sometimes multiple times until a method is efficient and clear, and only then do code it.

Sometimes I don’t know how to even start doing half of what I wrote, but it’s fairly easy to look up the pieces I divided the problem into. For example, for a recent project I had to read/watch some directory of files, process them into routes (i.e. paths/urls), then serve the content of the routes, and hot reload them. Had no idea how do any of it, zero knowledge, but alone they were easy to look up. Also once I understood them at a fairly simple level it was much easier to then pick a library to do the work for me (do not try to reinvent the wheel if you can avoid it).

You might also try, once some time has passed, to go back and redo the solutions to older simpler problems, improve them.

1 Like

Jumping around resources is actually beneficial, just find the right approach that works for you, things that help me through JS is the very basic w3schools’s javascript section and mozilla’s https://developer.mozilla.org/en-US/docs/Learn/JavaScript/First_steps I suggest you read them till the last section of their tutorials, take down some notes especially the array functions and objects. You will get over it once you refresh and read them every now and then. If you’re a designer make a background image with javascript codes in it like map, filter, every, reduce functions with samples and explanations then set it as your wallpaper so everytime you open your computer you see them… Read the mozilla developer documentations it’s one of the best because it’s for complete beginners to advance.

1 Like

Hi @Amber-Pittman,

You can try a more interactive approach to JavaScript with:
pythontutor

For me this videos was more useful than YDKJS:
JavaScript: Understanding the Weird Parts - The First 3.5 Hours

A debugger is not the same as WordPress, but it can help you to visualize what is happening:

Cheers and happy coding :slight_smile:

1 Like

those scrimba screencasts are fun- thanks for the recommendation!!

1 Like

I’m not a fan of that “asking why” is not important. I believe it is. It’s both: Asking why, and learning by doing, by experimenting, by writing code. Mostly both things are dynamically interacting with each other.

My spontaneous 5 cents would be: Maybe try to learn a different language and check out if it works better for you. I find that programming languages really can have pretty big differences, especially for beginners.

There are a lot of experienced developers who hate JavaScript. It’s a bit of a special beast. So maybe it’s the wrong language for you to start or even work with.

I’d suggest: Try to learn Python! Go to codeacademy and take the Python course there (I’ve not yet done it by myself, but codeacademy is usually a pretty good starting point).

You could also try the Java course there. It’s again pretty different from both JavaScript and Python. So maybe that’s your thing.

Learning to code is also a bit like “Go with the flow” as I find. Try different approaches, different languages. If then your problem is still the same, then you at least know that it’s not because of JavaScript or the language.

1 Like

Agree 100%. If you only ever care about the “how”, the best you can aspire to is being a mediocre coder (and you can substitute “coder” for pretty much any other knowledge profession).

Asking “why” is essential to learning things properly, because of what Joel Spolsky calls the law of leaky abstractions. If you only ever attain a shallow understanding, your code will be full of bugs that you have no idea to fix, meaning more work for others, which won’t make you very popular.

All of which is to say: @Amber-Pittman, don’t try to change your questioning instincts. Even if a concept seems simple, drill down as far as you need to go until you feel you’ve mastered it. Don’t rely on a single resource to learn about something — you have the whole Internet at your disposal.

Then, take these chunks of concentrated knowledge and piece them together to understand more complex ideas and draw conceptual links between them. Learn about data types before you try to understand arrays. Learn about binary before you try to understand floating-point arithmetic. When you learn about functions, dig into what it means to return a value and how you can use those returned values. Then learn about side effects, how they can be used, and how relying on them can sometimes cause problems.

And while you’re learning all that, never stop writing code. Every time you open up a new browser tab, open up dev tools (Ctrl + Shift + J or F12 in most browsers), open the console, and write a function or two. Or right-click an element, click “Inspect”, see its place in the DOM, then target it in the console with $0 (this works in Chrome, not sure about other browsers).

Example (right-clicking the title of this thread):

//right click the title of this thread
//click Inspect
//click Console, then enter...
$0;
/*<a href="/t/anyone-else-just-not-getting-it-help-suggestions/209878" class="fancy-title" data-ember-action="" data-ember-action-857="857">
                Anyone else - just - not - getting it? Help! Suggestions?
              </a>*/
$0.textContent;
/*"
                Anyone else - just - not - getting it? Help! Suggestions?
              "*/
$0.textContent.trim();
/*"Anyone else - just - not - getting it? Help! Suggestions?"*/
const title = $0.textContent.trim();

function titleCase(str) {
  return str[0].toUpperCase() + str.slice(1).toLowerCase();
}

function camelCase(str) {
  const arr = str.split(/\W+/);
  return arr
    .filter(Boolean)
    .map((el, idx) => idx === 0 ? el.toLowerCase() : titleCase(el))
    .join('');
}

console.log(camelCase(title));
/*anyoneElseJustNotGettingItHelpSuggestions*/

^ It’s not important to understand all that, but hopefully it’s clear how each step builds sequentially on the last. Target the element, get its text content, use a native JS method on that content, write a couple of functions, call those functions with that content as an argument. Learning by exploration like this is one of the best ways to internalize concepts.

1 Like

Hey, my two cents. First, hbar1st is great. Her help has been tremendous to me. Second, give a look at the free intro to javascript essentials course by Lawrence Turton. Here is the link to it. https://www.udemy.com/javascript-essentials/learn/v4/t/lecture/4393202?start=0.
Udacity is a very good source for quality formal courses that are relatively inexpensive.

There are some people who have put together excellent code libraries that include many of the FCC Challenges. You should try to work out the problems yourself as best you can. Do your research. It is harder than just finding a ready-made solution, but going through the work will definitely make it ‘stick’ better for you. Programming is a lot like math. There isn’t just one path to a solution.

Many have also written articles with explanations of solutions, some of which you can find on Medium.com

Lawrence Turton’s free course is about as good as I have seen.

Once you are convinced that JavaScritp is worth learning deeply (as many of us are), take a look at formal full-stack courses. I can recommend Treehouse. There are many schools. You’ll see just how extensive and powerful learning JavaScript really is.

I may be wrong and maybe someone will tell you different, but I really don’t think FCC’s 100DaysOfCode Challenge is something one should expect to do without some prior base in JavaScript. Don’t get me wrong. I think it’s great, but I can’t imagine how difficult I would find it if I had not first done some basic essentials courses first. I also completed a full-stack JavaScript course. I fiddle a lot with JS learning game programming and other projects – and I would not by any stretch of the imagination consider myself anything but still a learning beginner-sort-of-intermediate level learner.

I’d just like to encourage you. Keep it up.

Best of luck on your path.

1 Like