|
|
|
|
|
by jansho
2900 days ago
|
|
Assuming that the student is a complete beginner. Do you think the best way to read a challenging technical book is to speed-read at the start - to pinpoint the essentials and get an overall picture - then read again, this time slower? At both speeds, it’s still deliberate reading. Maybe you know more techniques which are better? |
|
Quickly reading from beginning to end is useful, but only if you know why you're doing that and what you should be looking for. Examples:
- "this lemma gets used over and over in the proofs";
- "this theorem seems to be the main result of the text";
- "this function is where all the action is";
- "the application is organized around this framework"; etc.)
The only really effective technique I know is guided practice. From a teaching perspective, you can spend a lecture on "technical reading skills" like this:
1. assign a reading and make it very clear that this reading is non-optional, that the whole point of the next lecture is to talk about technical reading skills, and explain how huge an advantage students have in life if they know how to read technical content well.
2. hold a quiz that checks for comprehension (e.g., a proof that's a trivial result of a key theorem; a program that's a trivial modification of a key algorithm; etc. Basically, something that's trivial if you did the reading and understood the "main point" but hard enough that you're not going to be able to do it otherwise).
You can peer grade the quiz on the spot, or not, but at some point make sure you grade the quiz so that students who did poorly know that they need to work on reading.
3. Walk through the text on the projector, pointing out "oh look that idea from the algorithm got used here and here and here" or "and we're using that lemma again and again", etc.
You do this once or a couple of times and then invite struggling students to office hours for individual practice.
Reinforce this the rest of the semester. Force students to practice reading by holding (fiar and easy) quizzes on the assigned reading prior to covering the material in lecture. Respect students by going beyond the assigned reading in lecture. Help students improve by doing a good job at grading the quizzes, or by doing little exercises on the board that focus on trivial extensions of the "main idea" of the assigned reading.
Good examples of CS topics this works for are the pumping lemma and dynamic programming. Simple enough that there's a relatively short reading on the topic, but complicated enough that you can really test technical reading skills.