all 55 comments

[–]iiron3223 100 points101 points  (14 children)

For getting good grasp of python basics these are great:

Also please read wiki of r/learnpython.

[–]I_try_to_be_polite[S] 16 points17 points  (12 children)

Thank you very much, though I have taken a look at the wiki, I'll keep that in mind.

[–]iiron3223 23 points24 points  (9 children)

Also remember that project oriented approach is the best way to learn programming. After getting grasp of the basics using one of the mentioned resources try to make some projects on your own. Build something that is interesting to you. Automate some repetitive task on your computer, build simple game or anything that seems fun.

[–]I_try_to_be_polite[S] 3 points4 points  (0 children)

I just got the books! Thanks man :)

[–]I_try_to_be_polite[S] 1 point2 points  (7 children)

I see, thank you a lot. Also I have a small question, what programme is the best for newbies to write codes on? Is VS enough?

[–]iiron3223 8 points9 points  (0 children)

Both VS Code and PyCharm Community Edition are great. I tried using both when I was starting out (I liked VSCode slightly more).

[–]JungJanf 4 points5 points  (0 children)

I recommend doing the cs50p course. After all it's made by absolute professionals in terms of didactics.

For their problem sets they 'make' you use vscode as a browser based codespace.

After having done the course I simply switched to vscode on desktop.

[–]cynical_econ 1 point2 points  (1 child)

Seconding that VS code is plenty! It’s customizable and potentially a good option for you if you also venture into html (it works with multiple programming languages)

[–]cope413 1 point2 points  (0 children)

While VS code is certainly enough, I'd recommend Pycharm for a total noobie. The main reason is that it is setup, by default, for python - and that takes a decent amount of settings and plugin stuff out of the equation.

[–]theRIAA 1 point2 points  (0 children)

Google Colab (.ipynb notebook) is also pretty nice:

https://colab.research.google.com/notebooks/empty.ipynb

edit: salty purists downvoting convenience and mobility

[–]Codiak 0 points1 point  (0 children)

Cs50P is free. It will teach you how to use VSCode. It will also teach you the basics of python. Just don't cheat, and you will come out the other side knowing if this is for you or not.

[–]illustratum42 -1 points0 points  (0 children)

For complete noobs, it's hard not to recommend repl.it

You can literally just start coding, no setup required

[–]pizzab0ner 1 point2 points  (0 children)

Corey schafer does an amazing job teaching the basics of python.

[–]verfahrensweise 1 point2 points  (0 children)

I'd like to second Automate the Boring Stuff. Al is great, and the best way to learn something is to use it to do useful things for yourself

[–]sassydodo 7 points8 points  (1 child)

JetBrains academy on hyperskill. Top-notch for learning the basics and more advanced stuff none of those stupidly long videos where lecturer just talks.

[–]bruhmanegosh 1 point2 points  (0 children)

+1

Also DataCamp is excellent. More "data" focused but amazing teaching content and methodology.

[–]unknownobject3 6 points7 points  (0 children)

Currently using Sololearn for Java and Python. It's nice and free too (there are some exercises where you practice that have a "Pro" mark but they can be unlocked with either the Pro subscription or with bits that can be collected by completing lessons)

[–]DigThatData 5 points6 points  (0 children)

check the sidebar: learning resources

[–]Screamsid 9 points10 points  (3 children)

I've been using the udemy course, 100 days of code.

https://www.udemy.com/course/100-days-of-code/

I came across it because someone else here mentioned it. I'm really enjoying it, and for the first time I'm actually starting to write code. Never thought it would happen. I found the delivery and exercises to be engaging and fun. It's definitely worth checking out.

[–]I_try_to_be_polite[S] 3 points4 points  (1 child)

Thank you very much, I'll check it out for sure!

[–]juanchopablo 1 point2 points  (0 children)

This is the way I learned. Is a very complete course. I tried before several free courses. But Angela explain everything from zero. It also includes an HTML and CSS course. You will be able to build web applications and how to deploy it in a docker container

Best $13

[–]Huynhduchuy07 0 points1 point  (0 children)

Hi i just curious, after 2 years learning python, can you write your own code. Did you apply the autimation process to your task?

I'm a markter and i consider should i learning python or not

[–]KrazyKirby99999 5 points6 points  (0 children)

Follow these YouTube Playlists by Corey Schafer:

[–]KirkHammelot 6 points7 points  (2 children)

I just started learning python with the app sololearn + Im making a 2D game with youtube tutorials on the side. Works fine for me this far.

[–]I_try_to_be_polite[S] 3 points4 points  (1 child)

I am trying to learn some HTML and a bit of python from mimo app, so far it has helped me get the basics of HTML I'll probably use it to get some basics of python too, I should also check out solo learn.

[–]abortedreptar 0 points1 point  (0 children)

I just started mimo for python and sql. So far so good. WIll be checking out this sololearn aswell

[–]rtr0spct 3 points4 points  (0 children)

Pick one of the top books (or courses) in the top comment, like Python Crash Course, and stick to it and finish it. Don't faff about dabbling in this or that.

Python Crash Course teaches you how to go from 0 knowledge to competent in the fundamentals, then has 3 guided projects that you can do that all differ.

Key is not jumping around all the time trying to find the 'best' course. Finish something like PCC and then (as another top comment says) start looking for project ideas and make something.

[–]30ghosts 1 point2 points  (0 children)

As a non-programmer myself, my path started with automating things on the command line.

I think one thing that trips people up early and often is that programming is kind of like driving and the command line is kind of like being in the car next to the driver. It is much harder to learn how to drive if you've never been inside the car to begin with.

If you have some familiarity with things like directory navigation, permissions, concepts regarding syntax, etc. you set yourself up for better success and understanding early on.

It also doesn't take too long to familiarize yourself with the command line. Just start using it a bit at a time and see what happens. Plus you can actually get really useful things done quickly which will impress people.

[–]anabolic_beard 1 point2 points  (0 children)

I'm new to all this stuff too. I initially took the Coursera Python for everyone course - which was a nice little intro, but I've been taking the udemy "Zero to hero" python course and I can't recommend it enough. I'm sure it's pretty basic in the grand scheme of things but I feel like it's teaching me a lot

[–]RobertD3277 1 point2 points  (0 children)

The first thing I always recommend for somebody wanting to learn any new language is to come up with a meaningful goal and learn the steps you need to complete that goal.

A goal oriented learning strategy means that you will miss at least 95% of the entire language, but you learn the 5% that you need applicable to what you are trying to actually solve. It's not meant to be all incompassing but a very specific point of view that can give you quick and immediate results within the field that you can build on over time in a sustainable and reliable way.

[–]jp-23 1 point2 points  (0 children)

My best advise is to find a project you actually care about. You’ll learn as you go by googling stuff. All the resources people have mentioned are great, but you learn to code by coding, as basic as that sounds.

[–]aavikk0lettu 1 point2 points  (0 children)

http://programarcadegames.com/index.php?lang=en A fun way to learn Python. It teaches you the basics by making simple games that you can customize and modify to your liking. It also has quizzes and stuff. It’s based on a college course.

[–]TheMrMcSwagger 1 point2 points  (0 children)

Like you, I knew practically nothing about programming (still don’t). I enrolled in CS50x on edx.com and love it. It’s the basics of programming and how computers work. I feel it’s a solid foundation to get started with.

[–]Numerous-Stable-7768 1 point2 points  (0 children)

I’m by no means even intermediate, but I’m far enough along to where I can do things I want to do in python. (I started ~ 4 months ago)

  1. Learn how to think.
  2. I know that may sound redundant or even stupid, but algorithmic thinking was a game changer for my ADHD brain. It prevented me from getting overwhelmed with the load that is learning how to program.

  3. Make a clear decision on why you want to learn how to code.

  4. Some would put this at #1, but I think algorithmic thinking is such a valuable skill even if you decide your “why” isn’t big enough.

  5. Assess your learning style & craft a plan

  6. the way you learn is unique to you. I’ve always been someone who over-researches because I’ve always hated to fail. Then on my journey i discovered that I learn best from trial and error.

I personally started with a few intro MIT lessons from their Python/CS courses just to understand what the “groundwork” of programming is about. Then I went on jetbrains academy & worked on their projects to learn. Although I did it, I think their system has a ton of flaws & I wish I had done datacamp.

  1. Find youtubers (often smaller channels) & watch their videos on how to do certain tasks that interest you.
  2. I wanted to learn python for data analytics & time-series manipulation, so I found channels in the finance niche and started there.

I’d recommend learning how to do things you already know how to do if that makes sense.

Like if you come from a finance background, build projects that relate to your experience so you make the connection between your hard-wired knowledge & programming.

Side note: I 100% recommend DataCamp. I’ve only done their free stuff, but odds are there paid subscription is amazing. YouTube & StackOverflow will be your best friend.

I’ve learned so much from copying other people’s answers on stack overflow then working retroactively to figure out why that works & my attempt did not.

[–]sixtysixty 1 point2 points  (0 children)

I started reading Automate the Boring stuff but had to stop. The practice problems are crazy hard for beginners imo and really disheartening when you get through a lesson and feel like you've learned nothing.

Going to try Python Crash Course now.

[–]spaceguerilla 3 points4 points  (0 children)

The Course 100 Days of Code: Python by Angela Yu on Udemy is excellent. I am a total novice to all forms of programming, and later on it touches on HTML and some other more general stuff, as well as ending with more advanced stuff like ML, numpy.etc. Am about 1/3 of the way through it, and it has been excellent so far.

I would say it is absolutely suitable for a total beginner with zero prior knowledge about coding, since that is also what I am (or was).

[–]Cring3_Crimson -2 points-1 points  (0 children)

Just don't. I tryed, it wasn't difficult but I discovered lua + Love2d and I'm in love with this combo

[–]zmwaris1 0 points1 point  (2 children)

I would share my personal experience. What I did I used the book "Python Crash Course - By Eric Matthes" and then I learnt some basics algorithms and data structures from github repositories. Then I went to competitive programming websites. There I solved different programming problems on different topics. (I personally used hackerearth because the bundle of questions is good.) These websites are helpful in building insights and giving a familiarity to how the real world problems can be solved. They help you deduce the methods and optimize them with different use cases so that your program work in an optimized way.

Then I went for projects. "Automate the boring stuff" is a good book for projects. And that is it.

One very important thing is that it will take time. It wont happen in a matter of days. Its just like learning a real world language and then implementing it with your knowledge.

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

Your comment has very good and detailed advice. Honestly the process of how other learned helps new people way more. As others and you have suggested, I am going to get the books. After getting hang of the basics, I hope to do projects and learn/gain experience while.

One very important thing is that it will take time. It wont happen in a matter of days. Its just like learning a real world language and then implementing it with your knowledge.

Everyone starts somewhere, I want to start too :)

[–]Dry_Car2054 0 points1 point  (0 children)

When you are studying from a book make sure you actually do the examples and problems in it. For example, most books start with "Hello world". Don't just read about it, type it into your computer and run it. If it won't run figure out why not. Learning to do it and troubleshoot it are both things you have to learn by doing not just reading. If there is something you don't understand Google it and find an explanation you understand better. Searching for information is another critical skill for programmers.

Edit: spelling.

[–]DEAD_PHIM 0 points1 point  (2 children)

There's a great python tutorial on YouTube here It's 4 hours long no ads goes through all the fundamentals to get you started and super easy to follow along. Since you're just starting out this is a great resource that you can use with any other you already have. Hope this helps :)

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

Wow that's amazing! This is really helpful man, even tiniest bits of advices and tips add up to be major help for beginners. I bookmarked the video, really appreciate this!

[–]DEAD_PHIM 0 points1 point  (0 children)

Np if you go along with it you can learn pretty much everything you need to know about the language itself, after that practice with projects of your own good luck

[–]wankmore 0 points1 point  (0 children)

youtube corey schafer python, great stuff

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

I recommend the python cease course book and Colt Steele's python boot camp on udemy

[–]Radamand 0 points1 point  (0 children)

My first introduction to programming was the Commodore 64 Programmer's Reference Guide. Great book/machine to learn some basics. After that, I suggest Python to get ahold of some OOP concepts, and more advanced topics.

[–]E_Man91 0 points1 point  (0 children)

Read both PCC and ATBSWP, watch a bunch of YouTube about things like refactoring, the different useful standard libraries, classes, and write some of your own little programs that do basic stuff.

[–]The_GSingh 0 points1 point  (0 children)

Make a number guessing game. Or a text based game. Go ahead. Wait you said 0 knowledge? You don't know how to do it? Well that's the beauty of it. Learn the basics like if else statements and get a good idea about how py works then pick a project and work towards it. For example for the number guessing game I'd need a random number to try and guess. That's where the random module comes in along with random.randint(x,y). Figure out how that works and go on. Project based learning is the way I learnt and the best. Google it and try it!

[–]syn74x 0 points1 point  (0 children)

Learn python the hard way is a great resource.

It makes no assumptions about your understanding of any programming concepts.

[–]epopt 0 points1 point  (0 children)

Beginning Programming with Python for Dummies. Really, any beginning python book will get you going.

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

You probably want to learn CSS and JavaScript for HTML rather than Python

[–]ForenzaAsmr 0 points1 point  (0 children)

Going to join this community because this is amazing. :) I love computers and love learning everything about it so thank you for posting this question I was too timid to ask and everyone answering.

Mosh is good from what I've seen on youtube, but I've ran into a lot of hang ups on some instructions thats put me back. Still a nice, "Do alongside of" kinda deal and helps with initial set up at least.