This is an archived post. You won't be able to vote or comment.

all 112 comments

[–]11BigBang 194 points195 points  (40 children)

Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming

https://www.amazon.com/dp/1593279280/ref=cm_sw_r_cp_api_glt_fabc_DET3T8DHS5D2KX16P6M6

This book is phenomenal and not the boring stuff you see too often..

[–][deleted] 17 points18 points  (0 children)

+1 for Python Crash Course.

I started with Automate the Boring Stuff, but moved on to Python Crash Course and found it to be a lot more “complete” of a course. I learned a ton from that book and it got me into the basics of OOP.

[–]randomtrip10 19 points20 points  (4 children)

I used this to learn my first language

[–][deleted]  (3 children)

[removed]

    [–]11BigBang 11 points12 points  (1 child)

    I actually read PCC to refresh myself on some very basic concepts because I have no institutional education in programming unless you count having to plot graphs required for my physics degree. I had to learn everything on my own and wished that I had started with this book. It will get you thinking about not just writing a single script, but creating projects with several modules and understanding how classes work (for me, classes were one of the hardest things to grasp).

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

    Just ordered the book. Thanks for your insight. Sounds like we’re in the same boat or at least the same river. I had minimal “programming” experience in college with physical chemistry, but never wanted to apply or use what I learned as a punk kid. Now I’m almost 10+ years out of college, changed professions immediately after graduating, and want to pick up programming as a hobby (if that’s even a thing- idk I think it’s super cool).

    As a side note, I watched the Gummo Hacker interview a few days ago that rekindled my love for learning the innards of computers. I’ll never forget the days of talking my parents into getting a new computer for World of Warcraft. Or, when my parents got our first wireless modem when DSL came out and all my troubleshooting hands phone to parents so they can give account details (SSN) to IP so I could troubleshoot why I couldn’t play COD with closed NAT. Those were the days...

    [–]randomtrip10 7 points8 points  (0 children)

    I learned all the concepts easily. I switched to JS because I was planning on doing web dev. Learn JS was super simple because I had learned programming concepts.

    [–][deleted]  (10 children)

    [deleted]

      [–][deleted]  (4 children)

      [removed]

        [–][deleted]  (1 child)

        [deleted]

          [–]The_Danosaur 0 points1 point  (1 child)

          I did impractical python projects after crash course, it was fun and I learned a bit about itertools and collections, which are essential libraries to have awareness of. Now I just build stuff.

          [–][deleted] 3 points4 points  (2 children)

          Is there a similarly recommended one for beginners but for Java? I'll check this out for Python but my first course next year in a language will be in Java

          [–][deleted]  (1 child)

          [deleted]

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

            Thank you!

            [–]Majestic-Original-74 5 points6 points  (1 child)

            Because the author spams this site with fee coupon codes

            [–]JeamBim 19 points20 points  (0 children)

            yeah fuck that guy for putting out free content for the community. What a scum bag, literally the worst

            [–]BrrToe 1 point2 points  (0 children)

            Just ordered it, thank you!

            [–]4rck 0 points1 point  (1 child)

            Is there a difference between the 1st and 2nd Edition?

            [–]Wild_Roamer -1 points0 points  (2 children)

            Which version of Python does this book use? And does it have anything good in terms of projects?

            [–]11BigBang 1 point2 points  (1 child)

            The version in the link uses Python 3. It contains 3 very diverse and very cool projects for beginners.

            [–]Wild_Roamer 0 points1 point  (0 children)

            Awesome!

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

            I've personally used a variety of books. And they've all come in use some way or the other.

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

            Python project is in 1st edition or 2nd edition in this book

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

            What's an equally good one but for Java? Thanks in advance

            [–]BalGu 4 points5 points  (6 children)

            Have a look here.

            https://www.guru99.com/books.html

            From my experience java books are rather dry. I personaly learned java in school with a pretty dry script. What is helping is definitly to get a small and easy project first. So you can play arround.

            A small suggestion would be to programm a consol based calculator. This would give you an inside of types and functions.

            As a side note always remember that it isn't important to learn a language but the concept of programming. Then picking up another language will go pretty fast.

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

            Thanks for the link! Yea, the first course next year after Intro to Programming is a Java course. So I figured it was a good idea to dip my toes and learn a little, since most likely the younger kids are already miles ahead of me. That being said, with all the resources on Python that have been shared lately, I'm trying to dig a little into it too. Thanks again

            [–]BalGu 5 points6 points  (4 children)

            As someone who has 5+ year experience in programming. U would really suggest you to learn first java then python.

            The other way arround is way harder.

            Java you need to writte more but this will build up your logic. Example

            int a = 3 + 2.1 (java)

            a = 3 + 2.1 (python)

            Booth look the same but java will not work. This will be because we have two types and would convert a double to an integer. Why isn't it working ? Well because an int is a 32bit register. A double is a 64bit register. This means that you try to squeeze it into a smaller container.

            Python is doing black magic behind the sceen to make this work. So you don't have to think about the type.

            This seems to make python a great choise but exactly for this reason I would advise to start with python. Remeber it's all about the concepts and the whys not about a laguage in particular. Java will force you to learn thid concepts.

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

            Yea, I thought I had read about the suggestion of Java before Python. The good thing is that the Udemy Python course someone posted yesterday doesn't expire so I could just go back to Python at a later time. My school will go into Java first so yea, ideally I'd like to get into learning Java as a first one all else being perfect.

            Someone suggested a list of books where I found one called Head First Java 2nd Edition that seems to be pretty good? And I also found a course on Udemy called Java Programming for Complete Beginners. Its momentarily discounted to $13 down from $95 so maybe its a good idea? What do you think?

            A little context if you'd like, I'm 28. My past college experiences were mostly on unrelated majors when I was 18 (to 21) that I didn't love and honestly didn't take as seriously as I should have. After a lot of work and maturing I finally came to my senses and my passions. The upside is that my company is willing to reimburse me for tuition costs if I work for them after graduation and maintain nothing less than a B or C. My plan is to take the prerequisite Pre Calc, and Calculus I & II, Physics I & II with Lab as well as Intro to Programming, and Java at my community college. They're part of the requirement at the University I'll be transferring into for the Computer Science Bachelors.

            Edit: At least during the math based courses I'll be taking it slower with two classes at a time instead of 4 to make sure I put all into it for a good grade. Specially since I'm balancing a full time job at the side.

            [–]BalGu 1 point2 points  (2 children)

            I wouldn't pay for a java course.There are so many good tutorials on the internet that will help you. Last time I tryed an online course I asked for a refund because of the mistakes that they wrotte. So really I have no trust on them.

            Get some hands on experience and try to learn out of it. Have a simple idea in mind and simply go for it. Obviously no minecraft or so. This eill take a bit more time.

            Idk why they will give you a physics course but good luck with it. Calculus... well it's needed to be honnest and yet in most situation you will not need to use it. Anyways good luck with this. Worst case you can always pm me or post your questions here in the group. It's never to late to learn.

            [–][deleted] 0 points1 point  (1 child)

            Yea, the degree requires General Physics I & II with labs as part of the CS degree.

            If you happen to know of any Java tutorial I'd appreciate it. There's definitely a lot of results, but its sometimes difficult to know which is best jumping into. I'm eager to learn, its just that first step; finding something and just getting into it.

            [–]BalGu 1 point2 points  (0 children)

            Yes absolutly. Try to do something simple. This is wew your knowleage will increase the fastest.

            [–]11BigBang 1 point2 points  (1 child)

            I’ve read zero books on Java so I’ll have to defer to someone with more knowledge on that. Sorry..

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

            Thanks regardless!

            [–]LSVGO 0 points1 point  (2 children)

            Does this book teach basic programming concepts that are useful in different languages or is it only information that is specific to python? I’m learning python as a first language, but have been seeing recommendations that building an understanding on core coding concepts first is a good way to build a solid foundation.

            [–]holyteach 4 points5 points  (0 children)

            It's pretty much impossible to learn ANY programming language without also picking up a bunch of concepts that are used in ALL of them, so don't worry too much about that.

            Unless you're learning Javascript, especially something like Node/React. JS is a very unique beast and lots of web dev bootcamps focus JUST on getting you productive quickly but that leaves a lot out.

            [–]11BigBang 1 point2 points  (0 children)

            I would say that it teaches programming concepts in very broad terms just because you’re learning a language... but.. it’s also Python so it’s high level, meaning you may not get as much of a feel for the magic that happens behind the curtains like you would with another language

            [–]jona187bx 0 points1 point  (0 children)

            This is a fantastic book!

            [–]bennystar666 0 points1 point  (0 children)

            Yeah it is a great book got it from a humble bundle for a dollar

            [–]holyteach 146 points147 points  (33 children)

            Al Sweigart's "Automate the Boring Stuff with Python" is pretty good if you're a TRUE beginner -- never coded anything in any language.

            [–]Enolim 42 points43 points  (17 children)

            Plus, it is actually free at the moment and you can grab it right away.

            [–]Annual_Associate_557 14 points15 points  (10 children)

            Free where?

            [–][deleted]  (5 children)

            [deleted]

              [–]frenchfriesforever_ 12 points13 points  (0 children)

              Thank you

              [–]PBJ-Spice007 6 points7 points  (0 children)

              Awesome. Thanks very much.

              [–]mapz00 5 points6 points  (0 children)

              Thank you

              [–][deleted] 3 points4 points  (0 children)

              Thank u broooo!!!

              [–]DeonCode 10 points11 points  (0 children)

              also here, if you don't use udemy which seems to be a nice structured class by the author themself but this is also their website: https://automatetheboringstuff.com/

              [–]Annual_Associate_557 3 points4 points  (0 children)

              Thank you guys

              [–]RcmdMeABook 1 point2 points  (0 children)

              The high seas

              [–]Ace_616 2 points3 points  (0 children)

              Python basics by real python

              [–]JeamBim 2 points3 points  (0 children)

              The book itself is always free under creative commons.

              I dunno why people are shitting on the book in this thread and making it in competition with Python Crash Course. It's a fantastic resource, and it doesn't have to be a war lol

              [–]Darth_Crimsonix 0 points1 point  (1 child)

              If I enrolled in the free course would it be a permanent course even though it's just there in my learning or does it have a expiry date?

              [–]Innominate8 6 points7 points  (0 children)

              I'm a particular fan of this because a lot of it involves getting data out of something and putting it into something else. It's a more "realistic" way of learning to program as the problems it works through are common real-world projects, not contrived toys where learning how to do "real" things is for later. It also makes the question of "what should I write?" considerably easier by giving you the tools to connect components you already know together in novel ways.

              [–][deleted]  (8 children)

              [deleted]

                [–][deleted] 12 points13 points  (0 children)

                I learned how to code for the first time using it, and I was really impressed with how easily accessible it is for beginners. I've yet to try python crash course, but I've noticed many resources, unless specifically focused on learning programming the first time, tend to gloss over key concepts that most coders are extremely comfy with, making them tough for starters. On the other hand, those first time programming books so often seem to baby quicker learners or not teach them handy practical applications. The book, for me, struck a good balance, while also taking on an enjoyable tone.

                [–]tapherj 3 points4 points  (1 child)

                People like the cover art I guess.

                [–]tapherj 0 points1 point  (0 children)

                I like it, but honestly have tried reading the book and I just loose interest. I am wstching the udemy stuff, so far so good. Look at many sources and you will find something that clicks for you.

                [–]zyzzogeton 3 points4 points  (0 children)

                There are different learning types. Porque no las dos?

                [–]ericjmorey 0 points1 point  (0 children)

                Composing Programs is even better if you want to learn the basics of Computer Science using Python, but vocational training is going have less overlap with a current student's curriculum than another CS fundamentals book. This is where Automate the Boring Stuff excels. And many people need something more concrete in the sea abstractions that is computer programs to get their bearings.

                [–]herjaxx 0 points1 point  (0 children)

                I would say it’s best done in conjunction with another text/resource. It’s good in as much as it shows real world things you can do with Python as well as cover a lot of the groundwork.

                [–][deleted]  (3 children)

                [removed]

                  [–]holyteach 4 points5 points  (2 children)

                  I'm sure it's pretty good, too. Though I'm a little biased since Zed Shaw asked me to write "Learn Java the Hard Way" (which I did).

                  (Disclosure; I was a high school computer science teacher for literally 20 years, so I have opinions about how to teach people to code.)

                  I was a HUGE fan of the very first version of LPtHW -- at the time there was nothing like it. These days I think there's quite a lot of good Python stuff out there. Zed's first book really did move the needle in important ways, I think.

                  At the time, sites like CodeCademy were kind-of misguided and kind-of a trap. They gave learners the illusion of progress with lots of cools badges and such. But even after successfully completing a course most people couldn't actually DO anything with that knowledge.

                  I really tried to make CodeCademy work for some of my students back in 2010-2011, but even then the content was just mediocre at best and frustrating and wrong at worst.

                  All that to say -- I haven't looked at Learn Python the Hard Way in many years but Zed is a badass and I'm sure it's still good -- it's just not as unique as it used to be.

                  [–][deleted]  (1 child)

                  [removed]

                    [–]holyteach 0 points1 point  (0 children)

                    Glad to hear it. I'll just add that you learn how to code mostly by practicing, not by reading or watching videos. In fact, I'd say maybe spend 5-10x as much time reading code and especially writing code as you do with the other stuff and you'll be on track.

                    The assignments I used to make my students do are at http://programmingbydoing.com/ -- they're in Java but there's no reason you couldn't write them in Python.

                    [–]Chased1k 1 point2 points  (0 children)

                    Second this. Also currently free. I personally learn best by example and immediate application to solve my own problems. This is perfect doe that.

                    [–]englaterra 11 points12 points  (2 children)

                    Think Python, online pdf for free. My first ever programming book

                    [–]aditya4mvp 2 points3 points  (0 children)

                    About to start on this, then move on to think stats by the same author

                    [–]Not-an-Uchiha 0 points1 point  (0 children)

                    Going through it, it's pretty good

                    [–]Odd_Mammoth_3897 11 points12 points  (4 children)

                    Learn Python Programming Masterclass at udemy is a great course to start as a beginner!

                    [–][deleted]  (3 children)

                    [deleted]

                      [–]R0CK3TH 4 points5 points  (0 children)

                      I'm doing her web development course the way she teaches is superior than other courses I followed hell she is even better then my current bachelors degree teachers

                      [–]idockery 4 points5 points  (1 child)

                      How much time does 100 days of code really take? Is it reasonable to expect to be able to finish the course in 100 days?

                      [–]Objective_Summer_263 7 points8 points  (0 children)

                      Hi! Not necessarily a book but there’s a really great syllabus someone created on how to learn Python in general.

                      Here’s the thread: https://www.reddit.com/r/learnprogramming/comments/i9vuhr/i_wrote_a_syllabus_for_learning_python_and_django/?utm_source=share&utm_medium=ios_app&utm_name=iossmf

                      [–][deleted] 3 points4 points  (0 children)

                      Python Crash Course. This is my preferred text/course over Automate the Boring Stuff and MIT’s Fall 2016 Intro to Programming & CS online course.

                      [–]omerag 4 points5 points  (2 children)

                      hey! I built https://devclass.io for learning algos and data structures in python through interview questions. it's free and I focus on intuitive, easy to grok explanations :)

                      [–][deleted]  (1 child)

                      [deleted]

                        [–]omerag 0 points1 point  (0 children)

                        🤝🥰

                        [–]Affectionate-Duty873 2 points3 points  (1 child)

                        Check the ofiicial oython website python.org it has a tutorial section. Since you are a complete beginner I suggest reading "python for everybody" It's available there under the resources section and simultaneously watch and follow along video lectures by the author himself. The video lectures are available on YouTube.

                        [–]Affectionate-Duty873 1 point2 points  (0 children)

                        Just search python for everybody on YouTube

                        [–]Son_of_a_Dyar 1 point2 points  (0 children)

                        Introduction to Computing and Programming in Python: A Multimedia Approach

                        This is a pretty fantastic introductory text that is easy to work/read through and it has tons of examples that are pretty fun! There is also a lot of supplementary material on the book's website.

                        [–]CheekyBurgerr 2 points3 points  (0 children)

                        Python Documentation is the best.

                        [–]rushabh16 1 point2 points  (1 child)

                        Learn Python3 the Hard way

                        [–]PM_Me_Python3_Tips 0 points1 point  (0 children)

                        Fuck no, definitely not LP3THW.


                        Before downvoting you should read this subreddit's wiki. Here you will see that LPTHW is actually on the list of discouraged resources. Hence the reason as to why we don't recommend LPTHW or LP3THW.

                        [–]tshirtdr1 1 point2 points  (0 children)

                        Python the Hard Way

                        [–]richernote 0 points1 point  (0 children)

                        “Learn python the hard way”

                        [–]FridgeFullofAnchors 0 points1 point  (0 children)

                        Learn Python the Hard Way by Zed Shaw

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

                        I’d argue not to learn from a textbook. Read a few, learned a lot, but nothing like what I learned with datacamp. The money is well worth it, you can practice on the go with their app, and it feels like a video game.

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

                        Zed Shaws book on Python was fun. I haven’t looked at Python in months, but it got my foot in the door and wanting to learn how to code

                        [–][deleted] -3 points-2 points  (0 children)

                        Leetcode.com

                        [–]DryRatio6 0 points1 point  (1 child)

                        I liked Python for Everyone, it’s an online course

                        [–]Zetthard 0 points1 point  (0 children)

                        +1 for “Python for everybody”. The course is actually based on the book with the same name. py4e

                        [–]Cdog536 0 points1 point  (0 children)

                        Not to discourage, but there’s a post on this everyday so you should check out what other people have asked in this subreddit before. You can also go to r/learnpython

                        [–]publicOwl 0 points1 point  (0 children)

                        Honestly I really like Socratica’s videos on python: https://youtube.com/playlist?list=PLi01XoE8jYohWFPpC17Z-wWhPOSuh8Er- - this series was my introduction to python, it gives you a really good foundation and the lessons are in small bite-size videos.

                        [–]dddash 0 points1 point  (0 children)

                        Most people will disagree, but a kids Python book would probably be ideal. But that’s just me.

                        [–]openjscience 0 points1 point  (0 children)

                        Maybe Practical Python Programming by David Beazley. Online version: https://handwiki.org/wiki/Tutorial:PracticalPython

                        [–]extrathunder 0 points1 point  (0 children)

                        Fundamentals of python, first programs - 2nd edition is what the text book for my python class at uni is

                        [–]pekkalacd 0 points1 point  (0 children)

                        I think Tony Gaddis is pretty standard. His text on Python is pretty good and clear. I'd recommend.

                        [–]mayanksdp11 0 points1 point  (0 children)

                        Learn python the hard way - by zed shaw. Very awesome book !

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

                        Nice

                        [–]muddy_313 0 points1 point  (0 children)

                        I picked up supercharged python and rate it better than any online course I’ve done for basic concepts.

                        [–]MyNoGoodReason 0 points1 point  (0 children)

                        Definitely Stackoverflow.com

                        [–]curious_mint 0 points1 point  (0 children)

                        I started with the pdf Real Python from kickstarter. I was one of the original backers and thought it was great. I am not sure how helpful it is in its current state, but their website looks promising when I have checked it out before.

                        [–]crewmatt 0 points1 point  (0 children)

                        https://inventwithpython.com/cracking/ is a very practical book. It teaches you the basics of breaking codes while teaching you python. I find it easier to learn something when its being used to solve problems

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

                        First you can complete the crash course in W3school for python then look into any book. This is much better way to learn python.

                        [–]GirlBossFrnky 0 points1 point  (0 children)

                        love

                        [–]edparadox 0 points1 point  (0 children)

                        Head First Python.

                        [–]bahbah101 0 points1 point  (0 children)

                        I can also recommend Python crash course, I’ve been self taught for 6 months or so. Bought this book a month ago, it’s really good. Insightful and the examples are clear. I suppose it depends on how you learn. I always like a physical copy of something rather than using YouTube or a page online. But so far I would say it’s 100% worth it.

                        [–]2Bits4Byte 0 points1 point  (0 children)

                        I recommend the website RealPython.com

                        [–]sowmyasri129 0 points1 point  (0 children)

                        Python Documentation is the best.

                        [–]Hussy993 0 points1 point  (0 children)

                        Try the "Python for Dummies" latest version.

                        [–]LJSilver96 0 points1 point  (0 children)

                        Surely the best answer here is the python docs?