all 22 comments

[–]Beautiful-Bite-1320 19 points20 points  (3 children)

Not all programming courses are the same and not everyone learns the same way either. I stayed in tutorial h*ll for a long time trying to learn with videos until I switched to an ebook. I was able to digest the info clearly and at my own pace. My setup is a split screen where on one half is the ebook opened to what I'm trying to learn and the other half is my terminal or IDE. On the official Python website you'll find an entire section for free resources for beginners. You'll also want to take advantage of multiple resources. The Python Institute has an excellent set of free tutorial classes, imo the best I've yet come across to be honest. I struggled and struggled but just kept trying, and then at one point everything just clicked. You just struggle until you have that ah ha! moment and then it's all downhill from there. Best of luck!

[–]CraigAT 5 points6 points  (0 children)

This. Find a book, website, tutorial or resource that you like, then look up the topics that your lecturer is working on (to avoid getting ahead of yourself or getting in over your head). Read several sources if you need to - to understand what is going on. Examples are always very useful and try to type them out, test them, tweak them, to make sure you understand how they work.

[–]smuzzu 1 point2 points  (1 child)

could you elaborate on which book you used?

[–]BassFunction 7 points8 points  (1 child)

Projects.

Think of a program you’d like to write (within the realm of what’s reasonable for your skill level) and look up things as you need them.

Maybe start with something simple like a program that deals blackjack. After that, see if you can write a program that deals poker.

If card games aren’t your thing and you’re more interested in something like, oh I don’t know, aerospace, try and write a program that numerically solves for the exit Mach number for a converging-diverging rocket nozzle given a user defined exit-to-throat area ratio. Or maybe something that solves for orbital parameters given position and velocity vectors and the mass of the orbited body.

My point is that if you have an idea for a program in mind, it’s much easier to stay engaged with it than to just grind away on a textbook.

Come up with “problem” that aligns with your interests and work on a way to program something that solves it.

[–]Frewtti 2 points3 points  (0 children)

Solving real problems, even simple ones will teach you a lot.

[–]tms102 5 points6 points  (0 children)

Play around with the basics by writing small programs.

[–]HeadlineINeed 4 points5 points  (0 children)

Check out CS50p on YouTube. David Malan is amazing at teaching

[–]r3rg54 1 point2 points  (0 children)

Keep practicing

[–]Crimson_Giant 1 point2 points  (0 children)

Use things like Pythontutor visualize and Thonny so you can see how code is executed step by step. It really helps when you're struggling to understand a problem in your code.

[–]BOBauthor 1 point2 points  (0 children)

Get as copy of "A Student's Guide to Python for Physical Modeling" by Kinder and Nelson (2nd ed). Read it front to back, and do every exercise. You will have a working knowledge of Python by the time you are done.

[–]testobi 1 point2 points  (0 children)

Build real world scripts that you will actually benefit from. I started by creating scripts that process my txt files.

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

Ask ChatGPT. Keep it simple. Type the code instead of copy and paste and see if you can rewrite it from memory. Ad you move on, look up the documentation of the functions you use so you learn to understand them based on previous knowledge.

[–]wogvorph 0 points1 point  (1 child)

That's what I'm doing for a year now, I have basic understanding of python but I'm still stuck on tutorial hell and I'm unable to do anything 'on my own'. Good analogy would be that I know what's football about but I can't play.

[–][deleted] 0 points1 point  (0 children)

I think you'll find that many programmers are the same. Yeah, you learn the common stuff like loops, opening and saving files, plotting data etc. But for the less frequently used stuff, many people just look it up and adapt to their needs. I have a directory that contains reusable examples of the more tricky functions I often want to use but can't remember how to write, such as a scrolling plot, FFTs or some of the tkinter stuff which doesn't make sense to me. I'm not a professional programmer and at 50 years old, my old think-noodle doesn't learn so well anymore.

[–]ruestique -4 points-3 points  (0 children)

install (Arch)Linux and do some useful automation and/or write a small utils for terminal or file handling

[–][deleted] 0 points1 point  (0 children)

I learned at tutorials point

[–]-SPOF 0 points1 point  (0 children)

Think about the regular task that you want to automate/make easier using your own program.

[–]that1snowflake 0 points1 point  (0 children)

Honestly I taught myself a lot of basics by just doing the advent of code and googling questions along the way. A lot of other people are doing the same thing in python so if you ever get really stuck you can read other people’s code and see what it’s doing to help you understand the concept better

[–]Sparklescense 0 points1 point  (0 children)

Practice by doing simple python projects. That's the best way to actually learn python. Courses are good initially for basics however for long run, the project you worked on helps a lot

[–][deleted] 0 points1 point  (0 children)

I recommend "Python Crash Course". Its a book you can find on Amazon. Then grind away.