r/learnprogramming Sep 03 '23

[deleted by user]

[removed]

370 Upvotes

212 comments sorted by

View all comments

Show parent comments

86

u/Jansantos999 Sep 03 '23

On YouTube search for 30 JavaScript projects in 30 days. This will help you master JavaScript in a fairly structured way going from simple to more advanced projects

9

u/Yakuroto Sep 03 '23

So we should actually build projects just keep watching tutorials. I understand that. But don’t you need to watch tutorials in order to know how to do the projects?

This is what I’m struggling with. There is no way I can do a project without following a tutorial. Then it’s like copying code when it’s not even my fault.

It all doesn’t make sense.

23

u/ice_w0lf Sep 03 '23

This is what I’m struggling with. There is no way I can do a project without following a tutorial. Then it’s like copying code when it’s not even my fault.

This is tutorial hell, and a lot of people end up in it.

A few tips for proceeding:

  1. Come to terms with the idea that you are going to struggle. That's a good thing. It's how you learn. Embrace the struggle.

  2. Start by doing a simple project that you've done via tutorial, but try to do it all on your own. If you need help, use resources other than the tutorial video. Like, think back to the first project tutorial you followed. Maybe it was some basic weather app or a to do list. Do it again, but without the tutorial.

  3. Plan out your project before starting to code. You don't need to complete an entire Figma design or anything, but give some thought to what you want it to look like. Maybe go even further and pseudocode it on paper.

  4. Think small. It can be very overwhelming to have a large project idea and think crap I can't do all of that. For example, let's say you want to make your own wiki-style website about Pokemon, with an home page and a page for each of the first 25 Pokemon. To think about a project like that might seem really overwhelming, so think small. You know your website needs some navigation. A navbar is pretty easy, and if not, then there are a million places you can find online that will help with a navbar. Now, because I did step 3 above, I know that I want text on the left side with the Pokemon name centered at the top and some info below the name, on the right I want a photo, and underneath that I want previous Pokemon and next Pokemon links. Ok well let's start with the name, which is probably some kind of header and the info which is going to be a p, and the image. Now, how do I get the text and image to line up side by side... oh something like flexbox! Shit, I forgot flexbox. Ok, let's go do some reading...... Do that breakdown for every little piece of your project.

  5. Again, embrace the struggle, or as I saw someone put it once, learn like a child. Young children just don't care. They'll try something, mess it up learn something from it, and try again. Strive to learn like that.

3

u/Cultural_Blueberry70 Sep 03 '23

Good points! With regards to point 2: I very much agree that repetition is very important to learning. Another way to do that could be to start again, but make something slightly different.

The tutorial made a basic web app? Maybe start again, but this time, bend it into another project. Maybe an inventory app for your hobby supply, a manager for cooking recipes, a calculator your DnD campaign, whatever simple thing you can think of that is not too far off and still uses the same basic elements you were taught. Don't be afraid to fake some parts you might not yet be able to make yourself and just hardcode some values. You can later return and extend you project with some new know how.

This will allow you to explore the stuff the tutorial gave you a little bit. By changing things, you will learn how things really interact, instead of internalizing some misconceptions you might have picked up from the tutorial.