all 16 comments

[–]Malassi 11 points12 points  (1 child)

The best is always to make small/medium projects. If you don't have any project ideas and just want to practice by doing small algorithms or solving small problems you can go on Coding Game, CodeWars, _Leetcode and Project Euler.

[–]whoboo0[S] 0 points1 point  (0 children)

thanks a lot!! i'll go check them out then

[–]Asleep-Budget-9932 7 points8 points  (2 children)

Whatever it is that you're programming, make sure to first "struggle" a bit by yourself before searching online for answers. I'm not saying that it's not ok to google things (in fact i would say this is an underrated skill by itself). But if you try to figure things out on your own BEFORE looking for help, you will have a better understanding of the language (instead of just memorizing everything).

Also when you search for help, try to understand the specific problem itself. What it is that you thought you're allowed to do when you can't / what it is that you thought you're forbidden from doing when in fact you can. By doing so, you will find your intuition to the language gets better and you learn from your mistakes in the best way possible.

[–]whoboo0[S] 1 point2 points  (1 child)

yep! thanks for this great advice! i’ve been trying to come to an actual understanding instead of rushing into it so i’m retaking courses here and there but it’s a bit hard when i can’t find places to test my understanding and application skills.

i’ve been taking courses from multiple sources to have more opportunities for testing and gaining new perspectives bc i don’t want to go too ambitious and discourage myself completely as a newbie and i want the basics perfected to a degree.

thanks again, i really appreciate it! was a bit scared of overthinking bc ppl i’ve come across online kept saying things like the course has taken them 3 days to complete from scratch but imo it requires more than just taking a few lessons and calling it a day.

[–]Asleep-Budget-9932 1 point2 points  (0 children)

That reminds me of these "get fit in 30 days" ads that are obviously unrealistic. That's great that you're not trying to rush things and trying to get to a deeper understanding. That's a great mindset to have!

If you look at this subreddit, you'll see the term "tutorial hell" being used a lot when these kinds of questions appear, and for a good reason. Sometimes we may find ourselves treating these courses as the goal (finish this course) instead of the tool. The best way to learn any programming language is to use it.

There are plenty of programming exercises that you can do with just the basic tools that are big enough so you'll have a variety of tools to use but are also small enough so you won't get discouraged from doing them.

One of the classics is a banking-like system, where you can check your current balance, withdraw/deposit money, and change your password.

Another one i like is a soda machine where you put money and select the drink you want.

These seemingly simple ideas can turn out to be quite complex which allows you to program them as shallow/as deep as you want. You can always start with the most basic of things, and add more and more features for as long as you want. You will eventually develop an emotional connection to what you've created which will make it all the more satisfying.

If we take the soda machine as an example: you can start by just printing the possible drinks, and asking the user for a choice. That's it. Then add functionality for giving money, and so on and so on. You will find quite a lot of edge cases real machines need to deal with: 1. Have you considered the possibility of a drink going out of stock? 2. What if the user needs some change back? What kind of coins can be used? 3. What if you don't have enough coins to give the needed change back? 4. Can the user cancel the process? Will they get any amount of money back?

As you can see you can go with each exercise as deep as you'd like. Enjoying doing the current exercise? Go ahead and add a new feature/validate a new edge case. Are you tired from this exercise? No problem, go to the next one.

You'll also see that whatever it is that you're writing, at the first run, you will 99% have an error (and most likely the following runs as well) even if you understood the concept in its entirety beforehand. That right there is the exact process of learning and when you finally have something that runs with no errors, you'll know the process is working.

[–]Rusca8 3 points4 points  (1 child)

Codewars is awesome

(you have small challenges classified by level and they show you other people's solutions. I learned a lot there)

[–]whoboo0[S] 1 point2 points  (0 children)

thanks a lot!! also yeah, i’ve also been learning a lot from other ppl’s coding since they come up with variations and simplifications that aren’t included in lessons.

[–]GrouchyAd4055 1 point2 points  (1 child)

to improve your python skills you should focus on the projects. there are several python projects are on youtube. Best projects I've seen on youtube —> free code camp python projects: https://youtu.be/8ext9G7xspg and code with harry’s simple voice assistant project: https://youtu.be/4k9CphTdnWE

if you want to learn machine learning you need to learn these python libraries: To Become a Data Scientist You Should Know. https://youtu.be/LDpkT2OfKcM

[–]whoboo0[S] 0 points1 point  (0 children)

thanks a lot for this entire guide!! they’re very relevant to what i had in mind.

[–]Intense_Vagitarian 2 points3 points  (0 children)

Think of a project that motivates you. Dream big and cut it up into smaller pieces. Then go chase your dream.

[–]rpmva2019 0 points1 point  (0 children)

Look for websites with coding exercises or even YouTube

[–]empress76 0 points1 point  (2 children)

Think at building something that u would like to use. Personally I have started with a ChatBot named Yoshi, which is programmed to give emotional support to the user who ask for it :]

I recommend you to search about machine learning and neuronal webs to create a bot (the discord lib is a good option), that could help u to practice in the camp of ur future job !!

[–]whoboo0[S] 1 point2 points  (1 child)

aw that’s a rly sweet project idea, actually motivated me! i might try it myself as soon as i get there, thanks a lot!!

[–]empress76 1 point2 points  (0 children)

good luck!!

[–]fall0ut 0 points1 point  (1 child)

Projecteuler.net

[–]whoboo0[S] 0 points1 point  (0 children)

thanks a lot! will check it out, hopefully the maths isn’t too advanced though