Project is sometimes the worst way to learn JavaScript

One of the most dangerous advice for JavaScript learners is "just do projects."

Obviously, the project is a great means to learn any programming language . However, problems arise when people go on grabbing difficult projects while not having enough basic knowledge to judge how right or wrong.

This issue is very important, because if you jump into a project too soon, people can become depressed and completely give up JavaScript.

I will not let you go into this crash, so, in the article, you will read about:

  • The things that JavaScript learners often fall into, and why
  • Specific examples of projects often cause people to drop out of JavaScript
  • How to avoid common traps and learn more effectively
  • When and how to start jumping into the project
  • How to determine which concept to use when you start implementing the project

The goal of this article is to transmit confidence in learning, whether you are learning JavaScript or any other programming language.

The words "rabbits" often lead to failure

One of the words I hear most often from people who want to learn JavaScript is "Let me make a quick slideshow."

They tried to create a slideshow, and one of the following two situations would happen:

  • Things seem to be difficult, and they tell themselves they will "come back to school later" – and often have real meaning of permanently giving up.
  • They will create a slideshow, but because they have to learn too many documents at once, they will not be able to apply later. Not knowing how to apply is that they are depressed, and depressed, again, leading to permanently giving up.

Why did this happen?

The trap is too big, Too early

JavaScript learners often choose slideshow as their first project because it sounds simple.

When they started to work, they found it harder than they thought. Slideshow can include array, function, loop, animation, timing, even listener, DOM manipulation and more. This is a surprising number of new concepts for those who are new to the field.

Suddenly, a project that seemed easy to become very difficult. The difference from the original expectations caused a tremendous psychological effect. The learner said to himself, "If it is so easy to do it, then I can't do it with JavaScript."

Solve problems in Scalable Social Network - Register now!
Solve problems in Scalable Social Network – Register now!

Instead, some people will succeed in launching a slideshow, but this will be a patch from the help of dozens of tutorials and little understanding of what's going on. In these cases, you often hear things like, "I was able to follow the instructions correctly, but then I couldn't apply myself."

Whether it is possible or not, the end result is often a feeling of boredom that can make people give up learning JavaScript.

These scripts not only happen to slideshows but also to projects where learners jump in early on. For example, a to-do list may sound simple, but it can turn into a full-stack project if the data is stored outside of local memory or browser cookies.

When someone starts learning JavaScript, predetermining the difficulty of a project is not easy, and that is the source of the problem.

Which project makes people skip?

To reinforce the problem, here are some specific sound-seem-easy projects that people often do too early, and really relevant concepts.

Project The concept is related
Quiz Arrays, objects, functions, forms, event listeners
To-do list Arrays, objects, functions, several types of storage (front-end or back-end), DOM manipulation, event listeners
A "little social network" This is a full-stack project, in addition to the front-end JavaScript, also involving backend concepts, including databases, authentication, security, user management, etc.

What is the goal?

The goal of this section is not to scare you to try new things. You can find these projects faster than you think, as long as you don't start with them from the beginning.

All you need is a better approach.

How to meet more effectively

Here are some strategies to help you avoid traps related to receiving projects too early:

  • Starting from concept
  • Practice like real life

Strategy 1: start with the concept

Instead of jumping right into a large project, try learning the small functionality templates first. As such, you will start with a more solid knowledge base and easier code later

For example, show tex in a div with innerHTML. Change the color of the text in a paragraph. Add two numbers together. Write your first function. Familiarize yourself with variables. Stores an instance in an array or an object. Create an event when the button is pressed. Learn more about logic with if and else. Try some loops.

Test and be comfortable with these concepts. You will soon be able to do a lot of things. Moreover, the newly acquired experience will help you decide which better project to look for. When you find yourself more successful, your confidence will increase, and you will have the "momentum" to run faster, instead of jumping into a big project and not having any momentum.

Must recognize, challenges are important, because they help you grow. Moving away from your "comfort zone" brings many benefits, but don't go too far from your process.

Strategy 2: practice like real life

When you study, make sure you take the time to practice under real conditions. This means using your own text editor and browser and code without relying on instructions.

The more you practice code in real terms, the less likely you are to feel stuck when it's time to actually create something.

This is a good way to avoid using instructions, but it doesn't help.

Solve problems in Scalable Social Network - Register now!
Solve problems in Scalable Social Network – Register now!

So when will the project happen?

Once you begin to know the basics of JavaScript, you will start to know which type of project is feasible.

While challenging yourself is important, you won't want to try building an end-to-end digital banking application, before you know how to display a line of text on the screen.

Concepts and some specific examples you can learn and mini projects at that time you can do it. The examples in this version are arranged in this direction as the basis for the following section.

New concept learned Mini-projects can do it
Variables , functions Creating a welcome function takes your name from a variable and displays the greeting on the page
Handling Click, class conversion Creating the "more information" button causes a series of appearances to disappear. Moreover, try creating two theme selection buttons. When you click on one of these buttons, some elements on the page change color and style to match the theme.
If statement, Random number Create a game with two doors and you can click on the right door to receive the reward.
Collect text and math input values ​​in JavaScript Create a tip calculator at a restaurant
Arrays , loops Create the front end of the social post page. Use array to keep a list text posts. Repeat that array to display posts.

So we have to …?

This time it looks like we take steps in a different order. Instead of starting with a project and trying to capture and capture concepts that are needed, we start with the concept and build projects based on these concepts.

This direction will have a strong impact on your learning style, because instead of jumping too fast forward and feeling lagging behind, you will learn the foundation to help you be confident at every step. The knowledge you learn will support each other, and sooner or later, you will find bigger projects than you think.

How to know which concepts you should use in a Project

Assuming you already know some concepts, you will begin to try the project.

How do you know what you will use and what concepts should you avoid?

To use analogy without code: suppose you are closing a chair and you want to tighten two wooden sticks with a screw. You can use your hands as well, but you will feel pain and tired hands. Since you already know about the screw, you know it's better to use screws. As for electric screws, I quickly asked.

In this example, the more tools you know, the more you know how to analyze the problem and choose the most appropriate tool.

Bring this example back to the code, each concept is a tool. The more concepts you learn, the more your toolbox will be, and the more you will know what to use.

So, here are some ways of thinking in a project:

  • First of all, separate the project into many smaller pieces of code.
  • Write down what you want each piece to do. Thus, you can think without being affected by code details.
  • Build each part of the project, starting with the concept you know. If you have learned the concept first (instead of jumping right into the project right from the beginning), you should have a pretty useful toolkit at the moment.
  • When there is a gap in your knowledge, split into the smallest features that you can think of Search them online.
  • The learning process is not too obsessed with perfection. Perfection will affect speed.
  • Do not hesitate to experiment with new ideas. The polished tutorials you see online often go through a lot of tests before being introduced anywhere.
  • After experimenting with a project yourself, look for similar projects to learn from others' approaches.

When you take these steps with more and more projects, you will feel more comfortable having to choose the right concepts for the job.

The rest to do is practice.

Solve problems in Scalable Social Network - Register now!
Solve problems in Scalable Social Network – Register now!

Important lesson

Project can be considered one of the best and … worst ways to learn JavaScript. The difference lies in choosing the time.

  • Project too early = trap.

One of the reasons people cannot learn JavaScript is by jumping into the project without knowing enough basic knowledge. This reason often leads to discouragement and abandon.

  • Previous concept, following project

To avoid project traps, experiment with the previous concept, and implement miniprojects based on these concepts. As such, you will have a stronger background, better memory, and faster progress. You will also be less overwhelmed.

  • Practice like real life

The more you practice in real-life conditions, the less likely you will be at a deadlock when it comes time to find instructions.

In the end, it seems that each person has a different way of acquiring knowledge. There is no point in this article that is imposed as a rigid rule, but rather a friendly suggestion that will hopefully help you or anyone avoid traps that too many people have fallen into.

ITZone via Sitepoint

Share the news now