I just enrolled in a CS course and the instructor gave a list of readings for the course. There is a total of 4 books and each book contains around 15+ chapters and around 2 thousand pages and all the chapters of the book cover our course syllabus. But I am now pretty confused about which book to read and how can I prepare for the course? All the books are somewhat similar but I have no Idea How to decide which book to read and How to read the book for the course.

  • 10
    What did your instructor say? I suppose they are in the best position to answer this question.
    – henning
    Sep 10, 2021 at 8:27
  • 8
    @lighthousekeeper Sorry, this seems absurd to me. We shouldn't encourage students to give into learned helplessness.
    – Arno
    Sep 10, 2021 at 11:57
  • 9
    My guess is that you are not expected to read those books to prepare for the course, but you read what parts are necessary for you to understand the material in lectures/assignments.
    – Kimball
    Sep 10, 2021 at 14:45
  • 4
    @lighthousekeeper This is preposterous. No one ever explained to me that textbooks are not to be read from cover to cover. Now it is possible that in this case the instructor could have provided more guidance (since the asker is quite obviously inexperienced) but "utilize all the books" is fairly clear, if a bit tautological. Sep 10, 2021 at 17:22
  • 4
    @DaveLRenfro Yeah, sorry for not being clear. I wanted to say that no one ever felt the need to said that we were not required to read the ~6 textbooks listed in the syllabus cover to cover - it was considered self-evident that the main material were the lectures and the textbooks were for reference only. I guess maybe students coming from different backgrounds do not find this obvious? Maybe it's a mismatch between the professor's expectations (students should be able to self study) and what students are used to? Sep 11, 2021 at 0:04

2 Answers 2


It is ridiculous to assume there is anything of immediate value in a CS text.
Instead, you should read all of Stack Overflow, where the real learning is at!

(just kidding)

They undoubtedly mean you should treat the books as a reference to look up topics, not read them cover-to-cover, as might be implied, and may assign homework from select topics amongst them.

I'd ask the professor to clarify whether they intend to assign specific homework assignments from the books and also ask them or your peers for more specific suggestions of relevant resources.

Frequently books in scientific topics have wildly varying (sometimes comically high) prices and often little correlation between price and printing age to quality.

Even though they're normally "off-topic" and eventually closed, the Stack Exchange network has dozens of threads of great books in a particular subject.

I would also personally recommend if this is your first computer science course to approach books on the subject along the lines that most are broadly

  • mathematically/theory-based and may deal with a very specific theoretical language that is not in common use, but very elegant for the field
    these tend to be extremely dense and unpleasant to understand at first, but enjoyable when you already have a good base and help with how to think about computer science and especially "formal logic" topics like lambda calculus
    Essentials of Programming Languages (Freidman, Wand, Haynes)
    SICP (Scheme Lisp)

  • deal with a particular language or subject (C, Python, C#, GNU/Linux, some particular database dialect) in-depth
    these tend to be great references, but nigh-impossible to read end-to-end because most of it is irrelevant outside of a niche situation and therefore boring and needless to subject oneself to
    Linux Programming Interface; Kerrisk

  • largely tutorials for a particular language
    these tend to just be a collection of challenges and are best augmented by the above to help explain topics in greater detail
    Automate the Boring Stuff (free Python text) http://automatetheboringstuff.com/
    The Little Schemer (Scheme Lisp and Friedman (again))


First, read a little bit from each book (which you borrowed from the library) and see which one you like best. Whose explanations work for you? Which book is working on the level of detail you prefer? If there is no clear cut winner, just pick one. You can also consider factors such as availability in your preferred format (e-book vs paper).

Once you have chosen your primary book, read it. If you come across a concept you struggle with, consider reading the relevant part of other books. Something seeing explanations from different perspectives can help. If the lectures bring up a concept not appearing in your primary book, look for it in the others.

  • 1
    Additionally, if you're in the US textbooks are expensive. Check with your campus library to see if they have copies of each textbook and read them there first before committing to buying one. Then if you want a second opinion on what an author said, you can always check out one of the other books later in the semester. My library stocked any book that was >$100, or was for a class with 300+ students (or some such numbers) Sep 10, 2021 at 20:09
  • 3
    @RobinClower People buy textbooks???
    – Arno
    Sep 10, 2021 at 21:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .