Tips for reading CS textbooks

I recommend the following general reading strategy:

  1. Preview: before the topic is covered in lecture at least do the following:

    • Look over the chapter subheadings for the main content/topics.
    • Read the chapter introduction and summary: what do the authors think are the most important ideas, concepts, themes in this chapter.
    • Skim over the assigned reading before the class lecture on the topic. It will help you to get the most out of the lecture as you will have a general idea of the topics and issues and be better prepared to ask questions during class.

  2. Understand: next, employ an active reading technique to read the assigned chapter(s) or section(s):

    • After doing step (1) above, re-read the introduction and summary and keep in mind (write them down) these big themes as you read the rest of the chapter.
    • Take notes as you read. Sometimes creating an outline of a chapter is helpful. What are the key ideas? What are the details of why, how, proof? Can you explain them in your own words?
    • Re-read important content and examples to ensure you understand the material.
    • Write down questions for parts you don't understand.
    • Work through example problems and try out important practice problems: do you understand why they work? can you solve them on your own?
    • Spend time understanding important figures and diagrams: what ideas, relationships, structures, operations, proofs, etc. are they showing? Try drawing them to help understand what they are showing.

    The goal is to be able to define terms, explain concepts, solve problems, and evaluate approaches presented in the reading. In general, use the course syllabus and the lecture as a guide to the level of detail and depth that you need to know a specific topic or concept: do you need to know the term and have a general idea of how it relates to themes of the course, or do you do you need to know details of how it is implemented or proved and do you need to be able to apply and evaluate it? The answer to these types of questions will help you to determine how to read parts of the text; some parts can be read through once for basic understanding while other parts should be read and re-read for deeper understanding.

  3. Review: use the textbook and the notes you took on the readings when you study for exams. There may be practice problems that are particularly useful for testing your understanding. Also, the textbook may have code or algorithm examples that may be helpful for course lab work.

Often times the textbook includes topics or a level of detail on topics that may not be covered in lecture. Your professor should have a policy about whether or not you are responsible for such content. Typically, you are responsible for content presented in lecture only, and thus, this material can be viewed as optional. However, sometimes it may help explain the required material or provide a larger context for it, so it may be beneficial to skim over it.

Sometimes the professor and the textbook present a topic in different ways. Use the textbook as another way of thinking about a topic.

Some links to more advice about reading textbooks: