I miss the time when I build Wordpress Website without knowing code at all. Here is my first website I create in 2016:
The algorithm problems represent common problems found in computer science in general and front end development in particular. You’ll run into issues based on the same core ideas as you try to build interactive websites.
To see some examples of where this will lead, you can look ahead to the front end libraries projects.
Your website is very nice, I like it. I can certainly empathize with your difficulty with JS. It’s a very different kind of study than using a website builder; basically it’s a type of math (in my opinion).
That is only one part of JS, though. Initially, JS was created to do fun little things on webpages. You don’t need many algorithms to make a button to switch to night-mode, or drag and drop things, or even add a form validation plugin.
If the FCC JS course isn’t working for you, that’s not because of JS but because of FCC’s approach. There are many other courses, books, videos, etc. that might work for you better. Ideally you will come back and finish the FCC course, though, because it touches on fundamental programming concepts and skills that will be helpful and maybe even necessary. If you never learn them, you will be limited.
When I want to update the li class, I have to update it 3 times (each li).
When I want to add an attribute to li, I have to update it 3 times (each li).
Sometimes you have more than 3 people, like 100…
Moreover you can separate the data (Max, Alice etc.) from the representation (li, a).
Seeing that you’ve already finished the Responsive Web Design Certificate (), this probably seems useless, because the projects are fairly small and copying and pasting 3 things around isn’t that much work, but when you start building bigger stuff, this stuff will become annoying! And I think copy and paste is not what most of us want to do for 8h/day.
I think I just havent had enough examples and easier problems before jumping into the hard core algorithm. I have tried to look at w3school and other website just so I can go back to do FCC challenge. I was frustrated yesterday because it took me so long to solve one single problem, but I understand now that I just start FCC for a month, it is normal if JS is a little confusing for now. All I need is to do more challenges and research from other website to understand more about it. Thank you guys, I am now back on track to finish JS then will be on the real projects.
Quick idea. Go to this site and do the first ten or fifteen exercises as a test. They are mostly on the simple side. For example:
But there is also plenty of work with strings, arrays, and booleans. It’s practice with the fundamentals.
If you work through all 150, you will have a nice set of basic skills and be in a much better position to tackle the FCC algorithms. Instead of struggling with the language, you will be able to focus on the puzzles.
It’s a basic concept of learning that it should be progressive. Start easy, gradually increase difficulty. Trying to learn variables, arrays, for loops, recursion, objects, ES6 syntactic sugar, and algorithms, all at once? Too hard for most people.
Writing code is:
Requires a bunch of time, work, effort
So yea, its fair to say “its not fun” because it really isn’t when you get down to it. However that doesn’t mean you can’t have fun doing it, but writing code is just part of the overall process of solving problems and building things. Both of those can be fun. Writing code is just part of that, it itself might not be that much fun, its actually a lot of hard work, but the results of what you can do with it are what makes it worth it.
Keep learning it, keep grinding, and keep struggling with it, such experiences are what serve you well later once you want to use it to build something awesome!
I did manage to finish it, so I can move on and learn more, someday I will be back to do those challenges again to make sure I didnt forget them. Thank you! It is just a little frustrated but I wont give up!
I am back to learning JS from other sources too, I will do even more algorithm challenges until I am comfortable with it. Feel like I dont know anything right now, but looking back I actually did learn a lot! Thank you for making me feel I am not the only one feel this way!
I think I just havent had enough examples and easier problems before jumping into the hard core algorithm.
In 1971 (half a century ago), Niklaus Wirth wrote:
Programming is usually taught by examples… Unfortunately, they are too often selected with the prime intent to demonstrate what a computer can do. Instead, a main criterion for selection should be their suitability to exhibit certain widely applicable techniques.
Furthermore, examples of programs are commonly presented as finished “products” followed by explanations of their purpose and their linguistic details. But active programming consists of the design of new programs, rather than contemplation of old programs. As a consequence of these teaching methods, the student obtains the impression that programming consists mainly of mastering a language (with all the peculiarities and intricacies so abundant in modern PL’s) and relying on one’s intuition to somehow transform ideas into finished programs.
The problem with trying to learn a programming language using examples, exercises,
algorithms, etc. is that you are concentrating on getting “the right answer”, when what really matters is to learn “how to solve a problem” (these are two fundamentally different things).
An example of widely applicable technique is the use of “whishful thinking” to solve recursion (to solve a problem using recursion). I remember the first time I heard about this technique was in the video course of ‘Structure and Interpretation of Computer Programs’ from 1984 (according to youtube), a video from 36 years ago.
The thing is, all this techniques are NOT computer science, paraphrasing Harold Abelson:
Were (are) really formalizing intuitions about process – how to do things. Talking precisely about how to knowledge. As opposed to geometry that talks about what is true.
If you are interested, a really good course to learn this techniques is “How to Design Programs”: