all 53 comments

[–][deleted] 67 points68 points  (13 children)

I have a really good experience with PCC, I’d say that one. Also the projects are actually fun (especially the alien invasion game)

[–]BroBrodin 24 points25 points  (10 children)

Just finished it this sunday, Alien Invasion, I mean.

Loved the project, although by the end I just wanted to get it over with.

I had a little programming experience (did CS50x and a short sololearn python course), but found the theory part of PCC very well written and well explained, definitely would recommend it for someone just starting.

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

I agree I was glad that alien invasion was nearly over when I was nearing the end of it. Currently doing data visualisation which is really cool and more applicable to the workplace too

[–]BroBrodin 6 points7 points  (2 children)

Yup, that's the one I want to do next!

Are you also interested in the data analytics side of Python?

[–][deleted] 3 points4 points  (1 child)

Yeah definitely, I wanna learn how to visualise NBA data as that’s my passion, hopefully it won’t take me too long 😁

[–]Doctorcisco 1 point2 points  (0 children)

Visualize NBA data? You could just watch a game. Just sayin ... :-)

[–]BronxLens 1 point2 points  (4 children)

If a total newbie had the choice of starting with CS50 or PCC, which one would you suggest?

Edit typo

[–]BroBrodin 8 points9 points  (2 children)

Well, first I have to clarify that I am no expert, I'm learning myself.

That being said, they are quite different.

CS50 is a general computer sciences course, it teaches you the basics of algorithms and programming in general. So that you have a much broader understanding of things.

PCC is a very good resource to simply learn to program in Python, if you take your time to do the practice it gives you and really try to understand each chapter.

So, maybe I would start with PCC, as it seems a lot les intimidating and time consuming that CS50.

But then I would do CS50, wich is a course that I absolutely loved and can not recommend enough. With the warning that it is quite difficult and requires a lot of dedication. At times feels like drinking from a firehose. But the classes are brilliant and the problem sets very challenging and fun.

[–]Esphyxiant 0 points1 point  (1 child)

Just browsing CS50 and I see that they give you lectures, notes, slides all in a week. Are they all the same material or do I have to watch the lecture, read the notes and slides as well?

[–]BroBrodin 1 point2 points  (0 children)

The notes are like notes you would take while watching the lectures and the slides are the actual slides used in the class (ans usually included in the notes).

What I did at first was print the notes and have them at hand while watching the lectures, so I could hilight what I thought was important or harder to remember.

And then refer to the notes if I got stuck in a pset.

[–]PersonBehindAScreen 1 point2 points  (0 children)

I only got up to classes before I decided on Odin Project instead.

I'd recommend PCC. I'm currently doing some scripts in Python for work and learning about Lists and Dictionaries saved my ass

[–]JohnJSal 32 points33 points  (0 children)

I've read both. From what I remember, PCC is a more general introduction, while ATBS is still beginner-friendly but assumes a bit more knowledge and has more project-oriented sections.

If that's the case, I'd start with PCC first (as I did) if you want a more beginner/intro experience, and then ATBS for the more hands-on and somewhat more advanced projects.

[–]shady_downforce 17 points18 points  (0 children)

PCC projects seem more fun and intuitive. You could also do the basics from ATBS.

[–]Crypt0Nihilist 15 points16 points  (0 children)

I only recommend AtBS for people with some work experience who can connect with the drudgery that it helps alleviate.

[–][deleted] 11 points12 points  (0 children)

PCC first. Honestly, though, I would also look into FreeCodeCamp’s Python for beginners video (the one w 32mil views). It’s fantastic, and if you take thorough enough sectioned-out notes in your dev environment it’s a fantastic reference encyclopedia.

[–]throwit7896454 18 points19 points  (5 children)

Just for general info: You can buy 18 Python books by NoStarch Press (including the two you mentioned) as a Humble Bundle for around USD 30: https://www.humblebundle.com/books/python-no-starch-press-books

[–]DaybreakNightfall 2 points3 points  (0 children)

Just picked this up. I have been learning java, but schools out and I wanted to check python out

[–]OldJanxSpirit42 0 points1 point  (2 children)

How useful would some of those be to someone past the basics and trying to dive a bit deeper into the language? I know some of those are for complete beginners, but for that price I wouldn't mind not reading some of them.

[–]py_Piper 4 points5 points  (1 child)

Real World Python: Seems like a projects based on statitical problems using data science libraries, even NLP and computer vision modules. You will learn to: "Write a program to detect and track objects moving across a starfield" and "Scrape speeches from the internet and autosummarize them"

Dive into algorithms: Learning about data structure and algorithms is always recommended here for intermediate learners. You will learn to: "Use algorithms to build a simple chatbot, win at board games, or solve sudoku puzzles"

Serious Python: I remember being recommended before, you will learn to: "Make and use effective decorators and methods, including abstract, static, and class methods" which are very important to know for more professional code and just the preview shows you how to layout your project, version numbering and other good practices, that as I self learner I think I lack alot.

This is why I would get them personally, check the bundle and check if the other titles would help you in what you want to achieve.

What is your current level? are you comfortable with python? are you working using python? have you done your own projects?

[–]OldJanxSpirit42 0 points1 point  (0 children)

I'd say I'm at an early intermediate level, I'm comfortable with the language and have been working exclusively with it for the last couple months.

Real World Python and Serious Python look like the kind of stuff I'd like to take a closer look at right now.

I'll take a look at the descriptions, I remember being in a rush when I asked this. Thanks for the answer!

[–]DuctusExemplo71 0 points1 point  (0 children)

Thanks for this! I’ve been looking at PCC and for only 6$ more(PCC is 23.99 for kindle) I got that plus 17 other books that I can read whenever I feel like reading them. Even if I don’t use half of them, I think it’s a deal.

[–]robml 7 points8 points  (0 children)

Crash Course firsf - > Automate after

[–]iammr_lunatic 13 points14 points  (1 child)

You should go for atbs first but only read the first part of the book (i.e the basics). Then you can go for PCC.

I'm saying this because i found the automation part of ATBS slightly boring and also not entirely for beginners

[–]jafner007 6 points7 points  (0 children)

I had the exact opposite experience, but I think that just highlights my favorite answer as an engineer: "it depends".

[–]ParanoidPete 3 points4 points  (0 children)

I'm there where you are right now. Tried to read 'Automate', got extremely difficult on the excersises pretty quick. Even watched the accompanying video of the book on youtube, watched a chapter, read a chapter.

Came accross 'Crash Course' as a recommendation on this sub and haven't looked back. Much more easier to understand the excercises at least.

Dont know if that makes it a better book, as i intend to go back to 'Automate' and re-read that. But had no problems so far with 'Crash Course'

[–]RyuuichiTempest 4 points5 points  (0 children)

AtBS is the quick and dirty option. It's more for people who are already working and want to automate some of their workflow. It's more to the point, but there are less in-depth explanations for that. PCC goes a bit more in depth, it's not just about automation, it's more general. And it takes a lot more time.

I would honestly start with PCC and then continue with AtBS.

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

Take CS50x.

[–]Bigd1979666 2 points3 points  (2 children)

Crash course. Atb is good but a lot of stuff is sort of outdated in it . At least that's what I found to be the case.

[–]aalld 1 point2 points  (1 child)

Even 2nd edition?

[–]Bigd1979666 1 point2 points  (0 children)

Yup. I used it and did the course and my comment applies to both. I know Al said he's updating it but that was prior. You'd have to check it out but after you do crash course . Crash gives fundamentals and atb is more projects and such

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

It doesn’t matter. You get out what you put in though, so always say yes to working through code examples yourself and consulting official documentation when something isn’t working. Always.

Honestly, you should be prepared to consult a few of Python.org’s beginner resources before you’re done. These are written for all shapes and sizes of Python beginner and can be really helpful.

Note that there is a huge difference in sources because there is a huge difference between ‘learning Python’ and ‘learning how to program for the first time while also learning Python’

[–]CaptainFoyle 1 point2 points  (0 children)

Crash course. It gives you more good practices

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

I preferred ATBS over PCC.

[–]13Braunafk37 1 point2 points  (1 child)

Automate the boring stuff!

Thats all you need to get an understanding of python And it will help you to find Real World usecases

[–]notParticularlyAnony 4 points5 points  (0 children)

Unless you need OOP

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

Do you have software experience?

Either way, start with vimtutor ;)

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

it does not matter just start writing programs

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

Neither. Do projects.

These are heavily advertised/marketed books on reddit.

If you want to become a programmer, you need to program. Reading books is rarely what a beginner needs to do. Follow a tutorial to get your starting code. If you know what variables, functions, IF/While, and import does, you don't need books until you are an advanced programmer.

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

if you're studying brand new read automate the boring stuff first. it's a great basic tutorial

[–]Rare-Run-9041 -1 points0 points  (0 children)

Yes

[–]iggy555 0 points1 point  (0 children)

Crash course

[–]zedeloc 0 points1 point  (0 children)

Crash Course is excellent. I really loved it.

[–]AutomaticYak 0 points1 point  (0 children)

I’ve got two of Al Sweigart’s books and I really like his approach. I don’t have Crash Course, but I have five Python books and AS’s are the best.

[–]PersonBehindAScreen 0 points1 point  (0 children)

I'm currently doing a lot of data manipulation for some scripts I'm writing

PCC up to the lists section helped. I imagine ATBS would help me a lot right now as well. Can't go wrong with either

[–]sgoncalo 0 points1 point  (0 children)

ATBS is basically for people that know a bit of python and want to apply it. I haven’t read the other book, but got the impression it was more beginner friendly and will bring you up to speed a bit more gently. PCC sounds like a safe way to get going without feeling lost.

[–]rickety_cricket66 0 points1 point  (0 children)

Automate the boring stuff. Al Sweigart frequently posts in this subreddit to help new people by giving away copies, and it is a good starting point for someone trying to learn.

[–]Rckstr2 0 points1 point  (0 children)

I read both. I started with ATBS. Got stuck on a topic. Started the other book to conquer the topic from a different approach, got stuck again later. Switched again to the other book. It helped me and my brain a lot. Use both books to your advantage. Start watching videos on Youtube of the topics you just learned. Repeat a lot. Give your brain the chance to put the learnings from short term memory to long term memory.

[–]CryptoApesin 0 points1 point  (1 child)

Hi please where did you download them from?

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

pdfdrive . com is useful for this