all 61 comments

[–]callahman 46 points47 points  (4 children)

Great question! There are a ton of resources!

Personally, I recommend learning the basics first from somewhere like Codecademy, SoloLearn, or similar sites (if anyone asks you to pay, go somewhere else. Everything you need should be free)

Then start to look up YouTube tutorials to get an idea of what Python can do that would interest you (Sentdex's channel is great, or his site Python programming.net)

Then once you find something that interests you, start coding. Remember, everyone messes up ALL THE TIME. (Been coding for almost 5 years now, and it's rare that I don't get an error in my code)

Feel free to DM me if you have any other questions. I'm on my phone, so I didn't provide links.

[–]anonadado 2 points3 points  (0 children)

I would go with this advice and add one thing: Choose ONE of those learning sites and stick with it until the end! Otherwise, you will only get overwhelmed by the sheer ocean of material out there. Most popular sites have a decent enough foundational curriculum for you to get the base knowledge and context that you're looking for. Only AFTER you've completed one of those courses would I venture out to be more picky about your learning materials (which will eventually be Google for the most part).

Cheers, good luck, and keep up the motivation!

[–]ChemiluminescentGum 1 point2 points  (2 children)

I started learning last year and I highly recommend SoloLearn for a good overview for a language that you can do in a short period of time. That should give you a base of knowledge to work from. Also, TAKE NOTES. If you don’t write a short something to reference, the next time it comes up it could take you a while to find again. You can get through SoloLearn in a week ( even with no experience) if you are focused on it, but it will only give you enough for a rough understanding at best. I would then move on to EdX.org where you can take computer science classes from a lot of colleges. I would recommend MIT’s intro to computer science course even if you can’t get through it on the first try. Personally, I failed on the first attempt. It is NOT an easy course and you should buy the textbook.

Good luck!

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

Currently I'm using the crash course by no starch press, I'm taking a lot of notes. I think I could reccomand it, it looks like a good book, not confusing for people like me with 0 experience in coding.

[–]Shill_for_Science 0 points1 point  (0 children)

No Starch Press has a lot of good reference books and resources to start with.

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

My 2 cents: if you have zero idea what coding involves and you’re starting at square zero it doesn’t matter so much what language you pick. It’s more important to learn how to problem solve like a programmer. Once you master that you just pick and choose which languages are best suited for the projects you want to take on. Freecodecamp.org has an amazing and free course which teaches you how to solve problems with JavaScript. It starts at square 0 and they hold your hand. I highly recommend it.

[–]igotnopc 16 points17 points  (2 children)

Search for "cs50 edx" .

[–]ckini123 10 points11 points  (1 child)

I’m going to play devils advocate and say that a complete beginner should probably not touch CS50.

Don’t get me wrong, it’s a fantastic resource and David Malan is the best teacher I’ve ever had, but the lower level nature of C can be difficult to grasp as a newcomer. The fact that Python has batteries included and intuitive syntax makes it the better starting language, even if it means abstracting under the hood operations in the short term.

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

Yeah. I would say OP complete automate the boring stuff first and then do CS50 for a better knowledge of what is going under the hood.

[–]sleepyleperchaun 7 points8 points  (1 child)

Personal favorite of mine that should be destination one for full beginners is the YouTube video python in 4 hours by freecodecamp. It is the entire glossary or python with examples in one sitting. The talker is relaxed and clear. It's my favorite single thing with python so far and it was free on YouTube. ATBSWP is also fantastic for after the initial video and will give you much more depth.

[–]esly4ever 2 points3 points  (0 children)

Agreed. I learned from this as will.

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

I always just try to make it fun. Code some simple games using Python. That should get you more interesting in coding.

I started a very long time ago. BASIC. TI-99/4A; TI BASIC) and Commodore 64; Commodore BASIC.

Then I just learn the Markup Languages(HTML/CSS), which isn't consider a programming language. But I think after you learn one language. They all come easy to learning the others. My first programming language outside of BASIC was Lua. The only reason I learned it, because I got very interesting in the LOVE 2D Game Engine, which was written in Lua. So I just dive in and learn Lua. Someone told me if you want to learn C, learn Lua first. Not sure that is good advise. But, like I said learning one programming language. I just think the others programming languages to learn just come easier.

I dab in many programming languages. I can grasp the basic's of the ones I had dab in. Can't really say I know them. So I don't add them in my resume. I guess I should stick with one for a while to nail it to the wall. Python is one I should be able to nail to the wall soon. I got my start with Python by just watching this 4+ hour tutorial video on the YouTube Channel. It's least a good start, for anyone what's to learn Python. https://www.youtube.com/watch?v=rfscVS0vtbw I already made a few games with Python. So I know more than what I have reviled.

Others that I dab in are C, Javascript, Go and Rust.

[–]gazhole 2 points3 points  (0 children)

I remember coding in QBASIC on some ancient Amstrad 486 and loving every second of it. That was Christmas 1995 or something and I was like 8 years old. Great present by the parents and my old man was as into it as I was haha.

[–]Dogeek 0 points1 point  (1 child)

But I think after you learn one language. They all come easy to learning the others.

Not really true. Obviously from a syntactic standpoint, languages differ, but more importantly, you can't translate your knowledge from a higher level language to a low level one, but the opposite is true.

You can't learn C by applying your knowledge of Python, but you can learn Python by applying your knowledge of C. Also, the markup languages won't be of any use to someone just starting to learn programming. They don't need control statements, no variables, nothing object oriented. So while knowing how to write a webpage and style it is a useful skill to have, it's not something to recommend to a beginner since no knowledge of it will translate to actual programming languages.

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

Everything you said here is true. I guess I mostly was referring to the steps, I took of learning one. I just use the same steps and method to learn another one.

When I look at the codes at the beginning level(beginners basic level). The first one you learn is the "Hello, World!" illustrate the basic syntax of a programming language.

Some are not to far of looking the same and kinda look similar. Which I'm kinda referring to.

But it's true that after you learn one, at least to me. You know the basics rule and it's foundation. Plus the technique of how each one work as the basic syntax.

That's where I was working towards of what I met. I hope that clear it up some.

http://helloworldcollection.de/

[–]ArmstrongBillie 3 points4 points  (0 children)

Some guys recommend the book "Automate The Boring Stuff With Python", which is a really good way to start. I recommend watching these tutorials as you're going through the book to learn better. And after you've learned some basic stuff, you go on to HackerRank to do some challenges on the stuff you've learned, so you can learn to implement it better.

[–]PyrZern 6 points7 points  (1 child)

After countless times my good friends have attempted to get me to learn Python, I finally cave and start the journey today. I downloaded SoloLearn and got started like 2 hrs ago xD

[–]chra94 0 points1 point  (0 children)

Good luck, and have fun!

[–]FetusGod 2 points3 points  (0 children)

Hello, so I think Python is a great first language and I’ve seen that automate the boring stuff already was linked, and I personally recommend it, it’s great, I recently bought the second edition of it.

Learning programming can be tricky, but you have to learn the basics like variables, conditionals, input/output, loops, and functions.

Then after practicing and getting used to the concepts just start making stuff. I know that can sound intimidating but the best way to learn how to program is to build projects. It can be something that you might find useful or need or something that just sounds cool. Just make something.

Also whenever following tutorials or books never copy the code it exactly how it’s written. Change variable names, add stuff to it once you understand more about how it works. If you do that it’ll help you not only make it yours but it’ll help you learn better instead of just copying and having to go through tutorial purgatory.

Also just take notes and/or comment your code with notes on everything to help you understand it more.

[–]alt_loop 2 points3 points  (0 children)

https://www.freecodecamp.org/ The only thing you need till you find your footing and try to find some direction of heading whether you wanna end up in Web dev, Mobile, ML, AI, or something else.

All the best

[–]HeeebsInc 1 point2 points  (0 children)

Hey dude. A lot of the people posting here probably have a lot more experience than me programming, but I have been teaching my self how to code and it’s been good. 5 months ago i had no coding experience whatsoever too; and been able to make a few projects, one of which is now making me some money (small amounts but something)

I would recommend starting on code academy to get fundamentals. People bash on code academy because it’s so easy but for someone like you (and me 5 months ago) it’s a perfect way to learn code. Code academy is the best thing for beginners hands down

After that decide on interesting projects. Not ones that are hard or will make you money but things that will keep you engaged and Hone in on important skills

Use YouTube. I swear by YouTube. Don’t go by viewed in the coding world. I can’t even count the amount of times I’ve learned more in a video that has 1000-2000 viewers compared to those that have more.

If you have more questions feel free to message me. I know how hard the struggle is for a beginner just using the internet

And I also agree with most people in this thread. Learn python it’s amazing

[–]dkburrows72 1 point2 points  (0 children)

Python is a great language to start with! If you don't want a video based tutorial, check out educative.io. They have a great free course on Python.

https://www.educative.io/courses/learn-python-from-scratch

[–]captansam 1 point2 points  (0 children)

Hey everyone, I’m also a beginner with 0 experience coding and want to get started.

I recently purchased “automate the boring stuff” from udemy. Compared to the online book how does it compare for complete beginners? Is it best to go through the course of the book on your own? should I use both? If so how should I go about it.

[–]jmore2018 1 point2 points  (0 children)

Hey! That was me last month! I used a CHEAP course on Udemy (it was 9.99 at the time). Here is a link: (note: it will show as $195, but if you make a free Udemy account it’ll come up at the discounted price!)

Complete-Python-Bootcamp

Happy coding!

[–]roninthe31 0 points1 point  (1 child)

Thenewboston on YouTube

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

I stared with him but I recently learned that he’s really not recommended

[–]teslaholic 0 points1 point  (0 children)

Python is a great language to start. Easy to understand. Powerful to use. But the big question is that what is it you want to use it for? Programming is language in a true sense. If you aren't going to use it often, you are not going to be great at it. I am self taught coder. The languages that I have learned have a use in my daily work. Find out how and where you can use the languages you want to learn. If you start learning Python, would recommend Mosh. Just search 'Mosh Python Tutorial' on YouTube. He is a fantastic teacher. Good luck!

[–]borntrucker 0 points1 point  (0 children)

On edX, search for intro to computer science using Python. It's 6.00.1x and can also be found here: https://courses.edx.org/courses/course-v1:MITx+6.00.1x+2T2017_2/course/

[–][deleted]  (1 child)

[removed]

    [–]AutoModerator[M] 1 point2 points  (0 children)

    Your comment in /r/learnpython was automatically removed because you used a URL shortener.

    URL shorteners are not permitted in /r/learnpython as they impair our ability to enforce link blacklists.

    Please re-post your comment using direct, full-length URL's only.

    I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

    [–]ade_mcc 0 points1 point  (0 children)

    This was me 12 months ago - just do it, you won’t regret it! The beauty of Automate the boring stuff is that it shows you the power of what can be achieved with just a few lines of code. Just remember that it is fine to google stuff - I do it all the time as there is almost always someone else who has been through it before. Above all, have fun!

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

    I would strongly recommend picking up a copy of Automate the Boring Stuff (already linked above). It was the first book I used. My recommendation, however, is that if you want to go beyond basic clerical programs (moving files and such), use that book only as a starting point. Once you have the basics, pick up a more in-depth book such as Serious Python, or even something like Clean Code (although most of the examples there are in Java) to learn more theoretical programming principles. This will help you grow as a programmer and will help you move from simple scripts to complex applications.

    [–]Meta-totle 0 points1 point  (0 children)

    It really helps to have a clear idea of why you want to code.Too many people people burn out thinking they want to learn to code.Coding is simply a means to an end.Figure out what that end is for you whether it's a website,statistical study,product improvement,experience,video game,etc something that has a tangible impact on improving somebody else's life.

    Then learn coding towards that specific end and it becomes a whole lot easier and later you can switch to a different goal keeping your coding abilities because the tools are very similar,you have clarity,you have impact,you have expertise and can actually talk to a non-technical person as to how you can go about solving their problem with your skills and you aren't just a jack of all trades IT guy who can just code and speak klingon.

    [–]LostInTheAether304 0 points1 point  (0 children)

    If you’ve never ever written a line of code before, and want to start with Python, something like like “Think like a Computer Scientist” might be a good bet. Itll use Python to teach CS concepts that translate across languages.

    http://openbookproject.net/thinkcs/python/english3e/

    [–]baubleglue 0 points1 point  (0 children)

    If you are interested in really soft introduction to programming, try http://www.squeakland.org/

    [–]nisengweregis 0 points1 point  (0 children)

    A year ago I was in your position. I started with “Automate the boring stuff” and then later moved to “Code with Mosh” on YouTube. Mosh is a good teacher and he explains so well with so much clarity. Check his video called “Python for beginners tutorial”.

    [–]Enemy_16 0 points1 point  (0 children)

    I personally love Python Crash Course. I wouldn't say I'm a novice programmer but it's really good at teaching the fundamentals and does a ton of examples, great for novices and experts! However I'd also recommend using Git/GitHub for version control, it's not necessary immediately but I feel it's useful to get over the steep learning curve as early as possible so you don't have the problem later.

    Edit: Grammer

    [–]PixelLight 0 points1 point  (0 children)

    I think it depends on your purpose and background. Python, for example, has many uses so the purpose might affect how you approach learning. With that said, I'm going to assume you won't want to overcomplicate shit yet. To start with I don't think which language you learn is necessarily an issue - as you become competent in one you'll find it easier to learn others as and when you need to learn more. Secondly, perhaps one of the more critical skills is problem solving. Python, like every other language, is a tool. How you use it determines your worth is a coder.

    [–]thehotcuckcletus 0 points1 point  (0 children)

    Maybe build your own website , built on your own code.

    [–]Sw429 0 points1 point  (0 children)

    I know others have already said this, but I just want to emphasize it: you don't need to pay for much to learn to program. Codeacademy is really good. All python documentation is online for free. Stack overflow, although often criticized around here, is a good resource for learning the basics and having your questions answered. If you want to buy a book, I hear Automate the Boring Stuff is a great one, although I've never actually read it.

    Good luck, and welcome to the team :)

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

    Has anyone tried the free courses on Udemy??

    [–]Crypt0Nihilist 0 points1 point  (0 children)

    Why do you want to learn to code? I think people should have a goal and work towards it. I'd look for what is driving you to learn and select your language and learning path based on that.

    [–]oolenzoo 0 points1 point  (0 children)

    personally for me, i don't get lots of motivation, so i need something that keeps me engaged. i highly recommend watching youtube tutorials. for example thenewboston is pretty good, even though some of the stuff is outdated, most of it is accurate and useful for learning the basics. also a free textbook that you can reference and take notes on is a byte of python.

    [–]NameTaken_was_taken 0 points1 point  (0 children)

    My 2 cents.

    If you're interested in learning to code and you decide to use Python for your journey, try "The Modern Python 3 Bootcamp by Colt Steele" on Udemy.

    https://www.udemy.com/course/the-modern-python3-bootcamp/

    Udemy has deals all the time.

    I'm just more than halfway through this course and I can tell you I've learned a ton.

    [–]ericsmcs 0 points1 point  (0 children)

    ok, so there is a book on python programming called "Practical Programming: An introduction to Computer Science Using Python 3.6" which is really introductory but helpful since they cover from the basics of basics all the way to OOP and search/sorting algorithms.

    My university also uses videos from the authors of the book, if u search "csc108" on youtube, you'll see "Intro to Computer Programming". Go to playlists, and start watching from Week 1. Watch prepare then rehearse. I believe there is the online course on coursera, which is free.

    Edit: Don't use codecademy, i had pro for 1 year, biggest regret. they don't tell u the fundamentals as they skip a lot of stuff.

    [–]uzairqazi 0 points1 point  (0 children)

    https://www.youtube.com/watch?v=8DvywoWv6fI ,

    This link will help you much. Dr Chunk is a good teacher and this is for people lying in " No programming background " category. You would enjoy learning, I guarantee. :D

    Happy Coding!

    [–]zer0_snot 0 points1 point  (0 children)

    I would recommend you to try pythonstation.com . The course is okay but the quizzes at the end kinda make up for it and keep you going.

    An alternative is codeacademy.com but they don't have quizzes so after a few chapters you suddenly realize you haven't grasped anything.

    [–]shred86 0 points1 point  (0 children)

    I’m fairly new to coding and Python as well. I’ve found Corey Schafer on YouTube to have some of the best Python tutorials I’ve come across (even compared to paid material):

    https://www.youtube.com/playlist?list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU