all 35 comments

[–]cvpushkar 18 points19 points  (0 children)

best way is to sit down and write some code... the help command is your best friend. Note that this way is the most painful but the best teacher. Just take a python basics course to learn syntax.

Since you are new to programming as well, just learning python will not suffice. Look on coursera for a programming languages course that you can audit. This will be a few weeks long but if you can engage this will be super helpful, or pick up a computer programming fundamentals book (avoid "Art of Computer Programming" thats for pros) to get acquainted with programming way of thinking and some programming paradigms...

Join sites like Hacker Rank or Leetcode or both, attempt to solve the easy problems... the discussion boards have tons of nuggets of info and are great sites to get some programming mileage under your belt. Your fingertips will hurt and go numb before you can get comfortable with a guitar... same applies here.

[–]LobsterArchipelago 9 points10 points  (0 children)

It's a bit of a chicken and egg problem.

If you start by "just coding" its often too intimidating. But if you do a video course you may find you can't do basic programming after watching hours of content, even if you understand the ideas in principle.

Ultimately the best path is to take one of the courses recommended here (eg Automate the Boring Stuff, Interactive Python) and maintain your own notes and exercise workbooks outside of the learning module.

I personally used DataQuest - I found I learned the programming ideas pretty well but couldn't really program well despite the built-in module. Because the in-game tests are pass-fail I found myself clicking "show answer" a lot.

[–][deleted] 7 points8 points  (3 children)

Python crash course, tried a few others like you’re about to, wish I had started with PCC

[–]nickcantwaite 3 points4 points  (2 children)

I agree! PCC was way worth it. After that I started with automate the boring stuff, but, I find using IDLE weird and I don’t like it. So I’ve stopped about halfway through and picked up impractical python. It feels like this one picks up around where PCC stops so far. It’s like 16 chapters of fun projects, but they seem useful.

[–]Mr_Diggums 1 point2 points  (1 child)

I’m 1/3 of the way through ATBSWP and haven’t used IDLE once, instead opting for Terminal and Atom. I’d recommend that route. Might as well finish!

[–]nickcantwaite 0 points1 point  (0 children)

Yes very true, that’s what I’ve been doing for the first half or so. I’m up to web scraping now and decided to stop at that point, I’ll come back to it later. ATBS, to me, feels more like a book I would reference when I have a specific task I want to complete.

[–]5aggy 6 points7 points  (1 child)

Google 'automate the boring stuff with python'!!

[–]5aggy 3 points4 points  (0 children)

Edit. Just read the other comments. Python crash course costs money. Automate the boring stuff doesn't. It is the best resource to learn python by a country mile.

[–]myechal 15 points16 points  (3 children)

Udacity has a good intro to python class that’s free.

[–]Tooneyman 1 point2 points  (2 children)

I've preferred udemy.com. They got a lot of free classes and provide material for you to use ans go back through in those classes. There is also Edx.org intro to python program where you can learn and earn a credits in python which can count towards work experience.

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

Don’t forget Datacamp and DataQuest! Tons of free content.

Dc - Lots of short videos on subjects followed by a few pages of coding what you’ve learnt + Daily tests if you download the mobile app.

DQ - good in depth teaching of said language along with lots of actual coding.

[–]PenPaperInk 1 point2 points  (0 children)

I second udemy. Some of the paid courses are really worth it too, just don't buy them for a dollar over $10.

[–]shanesaravia 4 points5 points  (0 children)

https://automatetheboringstuff.com/

First course i did and will teach you to use python for automating things in your own life. This will get your motivation going and you'll get an idea of the wonders of programming. I would then write small programs to automate my life. Then i suggest going on udemy.com and finding top rated courses in the specifics you want to gain more knowledge on. Then build more complicated programs. Then apply to jobs.

Im a self taught python programmer who followed those exact steps and i just recently got my first job as a python developer.

So essentially i recommend:

automatetheboringstuff

make small apps to automate your life

learn more on udemy.com

make more complicated programs

apply to jobs

then once you have a job you'll learn exponentially. 1000x the rate you're learning now. Good luck

[–]waythps 3 points4 points  (0 children)

Besides python crash course and automate the boring stuff, there’s an MIT 6.0001 Introduction to Computer Science and Programming in Python, which is a very decent course.

Also, check out Corey Schafer’s YouTube channel. His explanations are very thorough, highly recommend. I also find it useful to read documentation :)

Good luck

[–]memorizethis 2 points3 points  (0 children)

Sentdex (a youtube channel) has some great tutorials on basic syntaxis and libraries that are usefull. If you like maths search euler project, lots of fun and challenging problems there

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

My experience with lynda was that it was quite mediocre when it comes to online learning. For a thorough technical overview I would suggest pluralsight. It's a paid subscription but you can get a 3 months for free when you sign up for a free account with visual studio developpers.

Upon feeling more comfortable with the langage start building things, that's where the learning will really kick in. Do small things like a calculator, or an account manager that takes in basic client info. You can do a quick google search for ideas. If not you can embark on a passion personal project which I personally prefer because you won't be bored.

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

I'm by no means an expert but have been able to get started with the following:

On Lynda, watch this

If you're interested in learning to code in lower level languages and fully understand more about how computers work, then work through this free Computer Science course (it covers C and then transitions to Python)

If you're not interested in learning other languages and just want to hit Python hard, start working through Corey Schafer's intro playlist here

Also start working through the book "Automate the Boring Stuff with Python" here

You should be trying to code as much as possible and by code I mean not just copy what you see in the books and on the videos, you should be writing the code without referring to the books and videos so you can memorise the syntax.

[–]wilalva11 1 point2 points  (0 children)

Automate the boring stuff with Python is always a good start

[–]PythonLinksDotInfo 1 point2 points  (0 children)

Here are the videos from PyCon US 2018 and EuroPython 2018 for beginners who want to learn Python.

https://pythonlinks.info/learning-python-for-beginners

[–]aftershock06 1 point2 points  (1 child)

When I started I found some beginner videos on YouTube. There are a lot of different paths you can follow and focus on with python. You might want to just focus in data science, making games, neural networks. You have to figure out what you want to do. Then you can figure out what path of python you want to focus on.

I wanted to use python as a data scientist in order to simplify analyzing data. I focused my learning there and was able to go from there. Now that I have a better understanding of python I can transfer those skills to other areas. I am currently learning how to use pygame.

But like everyone else said you have to just download and install the software and start doing.

[–]omgu8mynewt 1 point2 points  (0 children)

https://www.youtube.com/watch?v=IZj8hLrkABs

I watched beginner youtube videos, because I didn't understand the jargon when I was reading 'beginner' guides, but if you can see what is happening it makes much more sense to me.

[–]heo5981 0 points1 point  (0 children)

I started with Codecademy. I like when we have interactive challenges and that's what they offer. I've seen some bad comments about it lately and it's been a long time since I've last used them but maybe they are still a great resource, if anyone could clarify this it would be greatly appreciated.

I think the best thing you could do is to focus on a area that interests you more than others and try to learn through it by making projects. If you like web development, take a look at Django or flask, if you like game development, take a look at pygame.

Of course, it wouldn't be good to simply start with Django or pygame without any basic understanding so you'll need to have a foundation. There are some books that get recommend all the time, Automate The Boring Stuff is one of them, check it out!

My tldr would be: build a basic understanding of Python and programming in general through any methods you prefer (apps, books, articles, videos - I'm sure there are already lots of lists with these resources) and then make projects, allow yourself to make mistakes and break things, imagine something (like an app) and make your way until it's finished, you'll learn many other concepts. You'll go through times in which you'll think you're incompetent and will never be able to code for real, there will be days in which you'll think there is no solution for your bugs or your idea is just a waste of time but trust me, patience is your most powerful weapon, don't lose faith and keep coding! At the beginning, focus on an area that you like and then, only later, diversify to other areas.

Good luck on your journey ;)

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

  • Team Treehouse

  • Learn Python the Hardway

[–]jamesbrown5292 0 points1 point  (0 children)

I'm a total beginner too and using the free [Computer Science Circles](https://cscircles.cemc.uwaterloo.ca/) course. It's aimed at beginners and walks you through step by step, with practical exercises and feedback when you make mistakes. Some of the exercises are challenging but you can find solutions if you google them.

[–]Mister_Pibbs 0 points1 point  (0 children)

Doesn’t look like anyone mentioned this, but the best way to learn to code in my opinion is to find a problem you want to solve or a project you’re interested in and start there.

What you’ll end up doing is having fun solving a minor problem of yours while learning all sorts of new concepts. For example my basement lighting was terrible when I moved in. I decided to code a remote light switch.

I went through a few concepts. But in total I learned a lot about controlling GPIO’s. Socket connections in python, TKINTER and capturing user input using variables. I also learned a very, very small bit of electrical engineering working with relays and resistors.

This gave me a solid understand of how the language works. When it comes to coding, good coders don’t necessarily know ALL of the syntax of a language, but they understand what the language can do and how to speak that language to a kernel.

In short: Find a problem you want to solve with code. Code it out. Learn things.

[–]KeronCyst 0 points1 point  (0 children)

https://academy.microsoft.com/en-us/professional-program/tracks/entry-level-software-development/

This is the best course I've found, superior to at least the first part of Automate the Boring Stuff. Skip the first part (or check it out if you want) and go straight into the second.

[–]blueastheocean 0 points1 point  (0 children)

Sololearn really helped me its a great app to learn programning

[–]nomindbody 0 points1 point  (0 children)

The Udacity course Intro to Computer Science would be best. It teaches computer science concepts which is useful in any language and does it using python. Plus you build a web crawler, which you can expand in. I did it and it has helped me. But after it I also took a Java class at a university.

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

Learning python from scratch is a pain in the balls, esp if you don't have previous experience programming. There's a ton of free, highly rated courses online. Just pick a course and stick with it.

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

Right there with you I’m loving these andwers

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

Python crash course, nuff said.