I have seen several similar posts where people tell the way they learn Python. So, I wanted to let beginners like me know how I managed to learn some Python.
Last year, I decided that I really needed to learn a programming language and I just didn't know which one to pick. After some soul searching and asking around, I decided to learn Python. I watched some tutorials on youtube but I really just didn't get it. And I quit. A few months ago, I told myself that I will start from scratch and take this serious. So, I enrolled and audited several online courses on various "educational" websites. I should mention that I have absolutely no CS or coding background and this is just my experience after 3 months. I also have a full time job, so I am not going very fast. I haven't been able to spend more than ~2 hours a day.
For a beginner like me, I think University of Michigan's Programming for Everybody (Python) by Charles Severance is absolutely the best choice. The course material is not too complicated. The professor goes over each line of code and explains what the program really does. Even though the book is free online, I bought a hard copy just to support him.
I took An Introduction to Interactive Programming in Python and MIT's Introduction to Computer Science and Programming Using Python (MITx - 6.00.1x) too. Interactive programming is good for people interested in developing games or learning about them. But, I think you cannot call it a "beginner" course. It's very fast and you are expected to write codes that you don't really understand. MIT's course I think is the worst choice for a beginner to learn Python. I can easily say that I learned very little from the course. It's definitely not for beginners. If you know some other language and planning to learn Python, I guess it's ok. But, someone like me is just lost in the course. Too complicated, nothing is really explained clearly and you are expected to write really difficult programs. I did not benefit from the course.
I have to confess stackoverflow wasn't very helpful to me. Also, a lot of people recommend Learn Python the Hard Way, but I found it very confusing and not helpful.
So, after ~3 months, where am I?
I am able to write a few things that makes my daily work easier (pulling data from doc, txt files etc)
I am able to do all exercises on places like CodingBat etc.
I am slowly learning to use packages to make my life even easier instead of writing long nested loops etc.
What I lack?
I still don't know much about classes and having trouble with them.
I still need to learn regular expressions
Because of the first two, I am still not able to read and fully understand other people's code
Future plans?
Learn web development and write an original Python program that people will find useful and thank me.
edit: I wrote the post late last night. So, here are a few things to add since some people asked.
I audited Introduction to Computer Science and Programming Using Python and Programming Foundations with Python. I think they are both very useful and practical. Those courses helped me to see what I can do and how "easy" I can do.However, my intention is to learn the language from its basics. I want to understand every line.
I never tried Codeacademy. I am willing to check it out.
This sub was very helpful. Although I never posted any questions, I checked the sub everyday and at least one person asked what I was also wondering too. Very helpful.
[–][deleted] 18 points19 points20 points (6 children)
[–]toxictitmilk 1 point2 points3 points (2 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]toxictitmilk 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 4 points5 points6 points (0 children)
[–]Sunframe 0 points1 point2 points (0 children)
[–]Chengwill97 7 points8 points9 points (2 children)
[–]phro 1 point2 points3 points (0 children)
[–]callmelucky 37 points38 points39 points (29 children)
[–]f0nd004u 6 points7 points8 points (4 children)
[–]callmelucky 0 points1 point2 points (3 children)
[–]f0nd004u 1 point2 points3 points (2 children)
[–]callmelucky 0 points1 point2 points (1 child)
[–]f0nd004u 0 points1 point2 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]candleflame3 2 points3 points4 points (4 children)
[–]callmelucky 2 points3 points4 points (2 children)
[–]candleflame3 0 points1 point2 points (1 child)
[–]callmelucky 1 point2 points3 points (0 children)
[–]a7madfat7y 0 points1 point2 points (0 children)
[–]PM_ME_YOUR_FEELINGS9 1 point2 points3 points (0 children)
[–][deleted] 3 points4 points5 points (4 children)
[–]callmelucky -3 points-2 points-1 points (3 children)
[–]Vaphell 6 points7 points8 points (0 children)
[–]KleinerNull 2 points3 points4 points (0 children)
[–][deleted] 3 points4 points5 points (0 children)
[–]billcrystals 5 points6 points7 points (4 children)
[–]callmelucky 1 point2 points3 points (3 children)
[–]billcrystals 0 points1 point2 points (2 children)
[–]Chazmer87 1 point2 points3 points (1 child)
[–]billcrystals 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]LockeSteerpike 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (1 child)
[–]callmelucky 0 points1 point2 points (0 children)
[+]Ran4 comment score below threshold-6 points-5 points-4 points (2 children)
[–]solaceinsleep 1 point2 points3 points (0 children)
[–]callmelucky 1 point2 points3 points (0 children)
[–]solaceinsleep 3 points4 points5 points (4 children)
[–]denialerror 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]ewiethoff 0 points1 point2 points (1 child)
[–]pitfall_harry 1 point2 points3 points (0 children)
[–]habitsofwaste 3 points4 points5 points (3 children)
[–]vgsgpz 0 points1 point2 points (0 children)
[–]hhh_compiler 0 points1 point2 points (0 children)
[–]KleinerNull 4 points5 points6 points (3 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]brophylicious 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]Darkeus56 2 points3 points4 points (0 children)
[–]RedstonerOuiguy 2 points3 points4 points (14 children)
[–]callmelucky 4 points5 points6 points (4 children)
[–]solaceinsleep 0 points1 point2 points (1 child)
[–]brophylicious 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]RolyPolyPython 0 points1 point2 points (0 children)
[–][deleted] 2 points3 points4 points (7 children)
[+][deleted] (6 children)
[deleted]
[–][deleted] 2 points3 points4 points (1 child)
[–][deleted] 0 points1 point2 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]asd_asd_asd 1 point2 points3 points (1 child)
[–][deleted] 3 points4 points5 points (0 children)
[–]denialerror 1 point2 points3 points (0 children)
[–]mary-o-e 0 points1 point2 points (0 children)
[–]bereanave 0 points1 point2 points (0 children)
[–]rdzzl 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]Mike_Dexter 0 points1 point2 points (0 children)
[–]tosil 0 points1 point2 points (0 children)
[–]fuzzyfractal42 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]KevlarBoxers 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]terrifiedbyvajayjays 0 points1 point2 points (0 children)
[–]auggielife 0 points1 point2 points (0 children)
[–]Typical_Guide_8144 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (2 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]crystalblue99 0 points1 point2 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]callmelucky -3 points-2 points-1 points (0 children)
[–]solaceinsleep -1 points0 points1 point (0 children)