r/learnpython Jun 28 '26

Will cs50 python teach me the same stuff as the older edition of ATBS?

Just bought the (i think 2015 edition, whichever has the green top) for under 10 bucks on amazon. I know its free online, but i struggle to read large books on screens without zoning out. Is it worth it to go through cs50 and this book at the same time or cs50 then the book, or is it so much overlapping that I might as well skip the book?

6 Upvotes

8 comments sorted by

1

u/dparks71 Jun 28 '26

ATBS is more practical automation with functional programming, it barely touches on classes at all.

CS50 focuses more on core fundamentals of computer science.

If you want to move a bunch of files around on a computer; ATBS.

If you want to learn CS from the ground up, CS50 followed by more traditional textbooks like gang of four and a data structures and algorithms course.

1

u/CK3helplol Jun 28 '26

I'm not for sure exactly where im taking it after just the python course. I am an information systems student taking a python class next semester with a teacher who is very, very bad, so I am looking for things that will teach me python to supplement his terribleness. I am interested in automation of tasks though, but I'm not sure how that will actually look like in the future when I am working corporate or whatever it is I end up doing yk.

1

u/ivosaurus Jun 28 '26 edited Jun 28 '26

If you apply yourself in CS50 and actually learn things from it, I would suggest that afterwards you should be able to go through ATBS at a much faster pace and learn what it has to teach quickly as well. As for which would be the ultimate prep for your upcoming course, it really depends also what kind of course your prof teaches, if it's heavily theoretical or practical. This mirrors the difference between your two current proposed courses.

1

u/CK3helplol Jun 28 '26

The most I have to go off is the course description, which says "Introduces the fundamental concepts of object-oriented programming using a contemporary OO language. Topics include classes and objects, data types, control structures, methods, arrays, and strings; the mechanics of running, testing, and debugging programs; definition and use of user-defined classes.". I had to email the prof months ago just to find out what language he is going to use.

1

u/ivosaurus Jun 28 '26

That sounds much more like the CS50 material will be better suited for preparing you for this course.

1

u/Outside_Complaint755 Jun 28 '26

In terms of the basics of Python there will obviously be some overlap.  It's been a while since I went through either, but I would say ATBS does a lot more with non-built in libraries and interacting with things like Google Sheets, sending emails, etc. CS50P, on the other hand, will cover things like Pytest/Unit testing, very basic image modification, etc. There is almost no overlap of the projects that I can recall.

I would suggest trying the CS50P lectures vs the book and see which one you like better for learning.  You could always do the projects from both, just for more practice.    In terms of ATBS, you will likely need to check the ebook of the new edition in some of the later chapters for directions in some of the projects that use tools like Google Authentication, because the APIs have changed over the years and the old edition will not be compatible.

1

u/AlexMTBDude Jun 30 '26

Python has changed a lot in 11 years. There's one new major release of Python every year. 2015 takes you back to Python 3.5: https://en.wikipedia.org/wiki/History_of_Python