I have learned python syntax (from books like fluent python or python cookbook etc.) and I want to learn the underlying concepts of computer science (in an abtract way), do you have some books/courses to suggest to me (others than algorithms and data structures' resources)

I've found a book called Python Programming. An introduction to computer science by John Zelle, but I am worried about the potential huge overlap between the above-mentionned books and this one.

Some books found while brwosing the web, but I don't have an idea about its usefulness :

  • Structure and Interpretation of Computer Programs by Harold Abelson, Gerald Jay Sussman, and Julie Sussman
  • Compilers: Principles, Techniques, and Tools by Alfred V. Aho
  • How to design computer programs by by Matthew Flatt, Matthias Felleisen, Robert Bruce Findler, and Shriram Krishnamurthi
  • Theory of Computation by Michael Sipser

PS: My backgraound is a Bachelor degree in Mathematics. My goal is to gain sufficient knowledge of CS concepts.



closed as off-topic by Derek Elkins, xskxzr, David Richerby, Evil, Discrete lizard Jun 19 at 12:24

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question does not appear to be about computer science, within the scope defined in the help center." – Derek Elkins, xskxzr, David Richerby, Evil, Discrete lizard
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    $\begingroup$ I'd be worried about a book titled "Python Programming: An introduction to computer science." That's a bit like "Driving cars: An introduction to automotive engineering." The two concepts are clearly related, but the first one doesn't actually do much to introduce the second one. $\endgroup$ – David Richerby Jun 19 at 9:16

Computer science is a very broad field - see this Wikipedia outline. Machine learning is just one topic within the field, and there are other parts of computer science that have little or no overlap with machine learning. For example, the theory of compiler design is unlikely to be of much use to you when studying machine learning.

My suggestion is to approach this from the opposite direction. Start with a text that provides an introduction to machine learning. An introductory text should include an overview of other computer science topics that are pre-requisites. If you want to or need to dig into any these wider topics in more detail, then you have a more focussed goal than trying to understand the whole of computer science.

  • $\begingroup$ I'd go farther: compiler design is of zero use in machine learning, with probability one. Diving straight into machine learning is definitely the right thing to do for somebody who has a degree in mathematics, because machine learning is almost entirely mathematics. $\endgroup$ – David Richerby Jun 19 at 9:19
  • $\begingroup$ Do you have a suggestion of a text that has such pre-requisites ? $\endgroup$ – Hilbert Hotel Jun 19 at 14:01

Not the answer you're looking for? Browse other questions tagged or ask your own question.