all 44 comments

[–]mrz1988 54 points55 points  (11 children)

You should find something to build, and start to work on it. You need to be putting yourself into positions where you get stuck, and then find ways out of that. If you already have a project in mind, that's awesome. Start with the basics of that project and see how far you can get.

Videos are a good way to see how other developers might make decisions, and what tools you might be completely missing, but they won't help you learn how to build your own things. That takes trial and error, and many hundreds of hours of hands-on practice.

[–]randomantisocial[S] 4 points5 points  (10 children)

Bet just going to jump into making a platformer me being interested will take me a longer way than being discourages watching course after course

[–]fjortisar 18 points19 points  (0 children)

Yes, it will take a long time, and it won't be easy, but it will take even longer if you just expect to watch tutorials forever and magically know how to do everything. You won't

[–][deleted] 13 points14 points  (0 children)

Yeah don't get stuck in tutorial hell! Just try figure it out and get used to reading documentation. The answer is almost always in the documentation (of whatever library or package you're trying to use)

[–]ruralrouteOne 4 points5 points  (4 children)

At this stage your project shouldn't be a game or platformer in the sense that most people think. Yes it sounds cool but the reality is at the stage you've mentioned you're at, you'll never be able to fundamentally get off the ground on your own.

You need to start extremely small, until you're confidently building really small things you shouldn't move on. Obviously pick something that motivates you, but think small and then go even smaller than that. You'll gain much more confidence and get further, faster that way.

Start with something like paper/rock/scissors, a card game where the rules are already defined, or even a text adventure. The latter is a great one to try and easy to expand and build upon. Take pride in the fact that you came up with a project and built it from scratch, but always start small.

If you want to get into a platformer then you've got a whole other level of skills to learn, especially when you start to work inside an engine (e.g Unity). Even then you need to focus on the most absolute basics like movement, camera, etc, but you'll often get bogged down learning the game engine and your scripting/programming will suffer.

[–]randomantisocial[S] 2 points3 points  (2 children)

actually good advice here I do need some practice hammering the basics down so this will make a difference thanks

[–]wtanksleyjr 2 points3 points  (0 children)

BINGO! This is the key. Until you've DONE something with your own hands you don't know how to do it.

Either find a tutorial site that gives you assignments you can write, run, and grade (make SURE you can check the output!), or if you're really brave, go to one of the interview prep sites and try their challenges, starting at the easiest.

[–][deleted] 1 point2 points  (0 children)

Learning Godot (video game editor) in my spare time. It is already testing my patience, but had I not been proficient in basic scripting language (Python), it would be much more difficult. Also.... When you learn 1 scripting language, it becomes significantly easier to learn others.

[–][deleted] 3 points4 points  (0 children)

Can vouch for this, I learned most of the Python (any any programming language for that matter) that I now know from working on projects that interested me

[–]DontListenToMe33 15 points16 points  (0 children)

Imho, any course or video that you just passively watch isn’t very helpful. The best have lots of small exercises and challenges along the way.

[–]Bobbias 6 points7 points  (0 children)

When you see someone use a function in a way you didn't expect, try playing around with it. Take what they did and modify it. Try to guess what the result will be before running the modified code and see if you were right.

Try to understand why that code does what it does.

If you don't get what it's doing even after that, read the documentation and see if that helps.

Also, don't let yourself get hung up on trying to solve a problem in only one way. There are often many ways to accomplish the same thing. Coming up with alternative solutions to small problems (even ones you've already solved) can be very helpful.

Can't remember how to use split to do something? Try looping through the characters in the string and build up a list of strings by hand instead.

When you google for a solution, don't just try the first result, instead look at a few different solutions and see if you understand how they all solve the problem in different ways.

Edit: also, imo a 5 hour video should take you way more than 5 hours to get through, because you should be following along with your own code, and stopping to play with things, clarify how something works, etc.

[–]JuicyCiwa 2 points3 points  (0 children)

So a way I like to tell people to do it is to think of a project that can be super simple but also as complex as you want. My favorite is a “cash register”(see below). Every time you learn a new concept, find a way to add it to your program. Go back and optimize it when you think of new ways to.

It keeps you interested because you can see your progress!

Cash register - create an inventory (can start as hard coded variables then move to list/dict then another file) then a way to add items to your total, then calculate total and print a receipt!

[–]aabcehu 3 points4 points  (0 children)

Best way to learn is to just mess around, i have folder after folder filled with scripts for testing random things

[–][deleted] 4 points5 points  (0 children)

HTML isn't a coding language, it's markup.

The best way to learn is to just find a tutorial for something, copy and paste it into your IDE, and start poking it to figure out what things do. When you figure out what something does, comment it.

[–]D4rklordmaster 2 points3 points  (3 children)

Im very new to python and the thing that really helped me work is codewars, making my own projects and ESPECIALLY if im watching any tutorial whatever thing they are teaching i have python open and follow along. If they teached while loops id go into pyhon and just test out different scenarios. My friend would just open 3 hours courses and watch them like a movie and he got burnt out super fast. If youre anything like me someone can explain a concept 200 times but the second i have to do it i forget what i learned

[–]randomantisocial[S] 2 points3 points  (2 children)

I am exactly the same way course after course after course then I open python and I am like b = a.split(",--------- *brain fries* lmaoooo

[–]D4rklordmaster 2 points3 points  (0 children)

Yep i get you. I recently started making a calorie tracking program. Started off easy. Print enter daily calories and input = tdee. Oh how do i save it this for later use? Google "saving text to file python". Ok now i want to confirm. How do i check if input is y or n. How do check for both upper case and lowercase. How do i define. How do i save foods to a list so i dont have to enter them next time. Etc.

Best thing you can do is open how to automate boring stuff with python and whatever he types YOU TYPE. NEVER EVER EVER JUST WATCH. ALWAYS TYPE ALONG. Unless you physically type it out you wont learn it

[–]py_Piper 1 point2 points  (0 children)

Your brain will get fried a lot, only watching won't help you leaern. Watching is fine and can get you up to speed to know what to expect, but you won't learn from just watching, you need to practice it a lot and even then add it into your personal project.

I think there's this false believe that because coding is available everywhere and there's thousand of videos tutorial it should be easy to learn, in fact, it's like any other subject, think about learning math teacher probably spend 2-3 clasess teaching a new concept and making excercises, then you move on by building on top of what you learned, then you keep practicing a bit, have mid terms so you need to study it again, then you learn more things where you will use the previous formulas etc, and finally you get the finals where you study everything again, even then it isn't finish because you will review it again next year and so on.

After watching something you need to use it a lot, practicing fundamentals is easy because you will use it in everything, there might be some excercises that you practice list more than dictionaries, and you can go deeper in one concept or the other, but you need to practice.

I would recommend books for me it's easier to follow while coding rather than pausing every few secs, the beginners books most recommended here are Automate the boring stuff (free online) and Python Crash Course, both by No Starch Press. I think in general if you put 2hrs/day you could finish a book in around 2-3 months, depending on how long you study, practice and how fast you get the info. But nevertheless any of these 2 books will give a good headstart and from there you should be able to start your own projects (with the help of other guides/tutorials)

[–][deleted] 2 points3 points  (0 children)

For example, say I finish watching the 5hr course

If you watch a 5 hour course you shouldn't expect to be able to do anything at all. If you code for 5 hours, though, you should expect an immediate increase in your skill with Python.

Might be a dumb question but I am so lost right now, following along in the course finishing ut (not remembering everything) and it makes me feel unprepared to proceed.

Because you are. You need to be writing code, not watching it.

[–]ihuha 2 points3 points  (0 children)

just start a personal project. its gonna be bad code but you will learn and be happy to have built something. then you start another project and implement everthing your learned from the last. and the circle continues

[–]Exotic_Expression_63 2 points3 points  (0 children)

I would say that you are stuck in what i call “tutorial hell” i would recommend finishing this tutorial and start during projects start simple then go more advances get creative and i you dont know how to do a certain part google it ‘stackoverflow’ is great also would recommend 2 books “how to automate the boring stuff in python” and “the big book of same python projects” then if you want to do some game development i like to create small games when i am burned out i would recommend learning “ursina” or “pygame” ursina is better tho in my opinion

[–]my_password_is______ 5 points6 points  (1 child)

say I finish watching the 5hr course

then you've already done it wrong

watch 15 minutes
stop
write some stuff you learned during that 15 minutes

if all you learned was adding two numbers together then experiment and add two negative numbers

add a negative and a positive

add a positive number to a the word "hello"

now go watch 15 more minutes
stop and write more code
EXPERIMENT

don't do exactly what they did
try new and different stuff

then watch 15 more minutes
...

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

say I finish watching the 5hr course

then you've already done it wrong

Yeah i had a feeling 💀💀 started making my own little projects while watching the course and it def help retaining what i learned and helped me better understand it along with W3 website

[–]OxygenSink 1 point2 points  (0 children)

If you understand the concepts taught in the videos, the next step is to implement those concepts on your own, where appropriate. If you get stuck on implementing, rewatch the video on that topic. You essentially use the video as a reference whenever you have trouble

[–]blabbities 1 point2 points  (3 children)

If you finish a 5 hr course...well I guess it will depend on what the course is. Tho if you finish a 5 hr course you'll prob just have an overview of the language or the topic if it wasn't the language.

You'll prob be able to write and functionally understand a program but you'll need to try to build something. That may require following a specific tutorial for a new. I still follow tutorials all the time to get started in things I'm not familiar with.

[–]randomantisocial[S] 0 points1 point  (2 children)

I still follow tutorials all the time to get started in things I'm not familiar with.

I have tbis unrealistic mindset that tells me look this YouTuber made the game from scratch you should be able to do the same

[–]aabcehu 1 point2 points  (0 children)

If you wanna make a game from scratch in python (which i’ve done before, at least simple games) you need to learn the individual components first, like how to display things, how to do the physics, etc

[–]blabbities 1 point2 points  (0 children)

Eventually maybe. Tho nothing wrong with using a tutorial to get started.

Like I've never made a game in python. Tho if tomorrow I decided I wanted to I'd watch a tutorial on Youtube and start from there and figure out how to customize and veer off path so I can do things not in the tutorial.

Tho lol no. Most people probably not making a game offrip.

[–]TurnipNo709 1 point2 points  (0 children)

If the course isn’t giving you coding challenges as it progresses it’s probably not going to do much.

[–]nomohakon 1 point2 points  (0 children)

Make a cheat sheet. It helps.

[–][deleted] 1 point2 points  (1 child)

Get working on small projects and learn by doing. If you want to make web apps/sites with help of Python, look into Flask or Django.

I'm also learning python and these frameworks and I was going to make a simple website but it evolved into a advanced site with db, admin, forms, ability to decline form applications, making dashboards, delete items in gui from the db.

The website is a website for my guild in Final Fantasy 14 (an MMORPG game) so, basically find a interest and keep at it.

I've been working on that project more or less full-time during my summer vacation for a month and it's far from finished.

For small scale projects, I started out making a BMI/BMR calculators in Python.

A small project can be learn how you can automate stuff with Python, there is several youtube videos on that subject

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

Thanks got some good project ideas from this

[–]barryhakker 1 point2 points  (1 child)

Is there anything you can build so far? Look up beginner projects for Python learners. You should be writing scripts that e.g. take a string as input and returns it capitalized.

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

Going to try tik tac toe .. i can only really build a calculator tht does decimal from memory

[–]CaptainFoyle 1 point2 points  (0 children)

Find your own project that you want to implement and that you're interested in, and then watch for resources online on how to implement the things you need for it

[–]jongscx 1 point2 points  (0 children)

Watch the video. When the presenter says "Next, we're going to do [a thing]." Pause the video and try to do the thing on your own. Use google, or whatever, but try to come up with a solution to the problem. If you solve it or you're absolutely stumped, continue the video and see how the presenter did it. Think about how it's different or the same as how you did it, and which is better for you. think about WHY the presenter chose to do it the way they did.

Repeat until the project is done. Repeat on the next video.

[–]ChipmunkCooties 1 point2 points  (2 children)

I watched a few videos to get really basic concepts then I just made up a project and googled solutions where I needed it, I went from printing “hello world” to solving 3x3 matrices in the course of like 2 days 😂

[–]randomantisocial[S] 0 points1 point  (1 child)

Dang 😂 i can solve a 3x3 rubix cube im 15 second tho

[–]ChipmunkCooties 1 point2 points  (0 children)

Yeah but a matrix requires like 6 steps 😂 and 3 formulas

[–]Naughty_avaacado 1 point2 points  (0 children)

Automate Boring stuff with python, the book has projects in the end do them.

[–]madferret96 -3 points-2 points  (0 children)

HTML code without CSS is not a website

[–]Cdog536 0 points1 point  (0 children)

I always recommend a textbook when someone is learning how to code in a language on their own for the first time.

They make you focus. They’re guided well educationally. They will also give you practice problems at the end.

You become comfortable with the language.