Tips for Effective Reading in CS 341

Using technical reading as your primary means of knowledge acquisition can require significant adjustment from more passive lecture-based courses where you can rely on the instructor to highlight important points and provide alternative explanations. In this course, you and your peers are in charge. I assist mainly by preparing useful exercises and asking useful questions to guide you. Building skills for technical reading, as you do in this course, is invaluable as a computer scientist (and beyond).

It is rarely possible to read a technical document and absorb all the relevant detail in one pass. Instead, aim to read repeatedly at deepening levels of detail and engagement:

  1. Do a cursory reading to identify important concepts and high-level structure within the topic (and also what looks less important so you can skip it initially). This is an important skill that takes time to develop.

  2. Do a detailed, methodical reading of each section and work through examples carefully, aiming to understand details. Become familiar with the important concepts of each section before moving on to the next. If you get stuck, take a break, jump ahead and come back later, or try a related exercise. Context from later material may provide the missing link for you.

  3. After trying exercises with the material, revisit the areas that left you confused earlier. Did your work bring clarity? Do you still have questions?

  4. At any point along the way, ask, discuss, or answer questions in the #readings stream!

Tia Newhall (Swarthmore College) has more good advice on reading technical computer science material for lecture courses, but many points are universal.