Programming Reading Algorithm
Hello. My name is Boris, for several years I have been fond of the theory of learning and memorization - how the brain works with new information. Today I will share my way of reading books.
Perhaps you have heard about the algorithm for reading books, which allows you to save maximum information in your head. The speed reading coach told me about him, and later I saw this algorithm in Buzan's book “Superthinking”.
Algorithm for regular books
Everything is very simple:
- We read the author and the title;
- We ask questions whose answers we want to find in the book;
- Scroll: looking at pictures, quotes;
- We read the contents, table of contents, annotations;
- We read the book (the faster, the better);
- We highlight the main topic;
- Highlight facts and novelty;
- Scroll through the book;
- Optional: we write in a tablet in Excel, what the book is about, who advised it, whether it is worth re-reading and why.
If in six months you will need to remember what was in that book, you can simply scroll through it - that will be enough. Works great with books on psychology, negotiation, marketing, etc.
Alas, read David Flanagan's book, JavaScript. A Comprehensive Guide, 6th Edition, or the ng-book is pointless and useless. There will be nothing left in the head, and time will be lost. In general, the speed reading technique for such books is more harmful than useful.
I used to study the book "Learn Ruby the hard way" (when it was still free). Its main principle is that you need to retype 100 programs. Of course, some of them need to be improved, but the main thing is to reprint 100 listings. In the process of reprinting errors are inevitable. And in the process of finding and fixing errors comes an understanding of what is actually being done in the program. A little later I looked at a Coursera course on how to properly build my own learning process, and gradually I developed my own algorithm for reading technical literature.
Algorithm for technical literature
It looks like this:
- We formulate the problem that we want to solve by reading a book;
- We begin to read slowly and carefully, retyping each of the above listings;
- Regularly - once every half an hour or an hour - we pause and remember what exactly we did the previous hour;
- Finishing the next topic, we look whether we have learned enough to solve the problem;
- Slowly but surely read to the end;
- Once again we recall what the book was about;
- We are writing a program using the maximum of what was in the book.
We formulate the problem that we want to solve by reading a book
Our brain is designed in such a way that it searches and stores information much better if it understands what and why it is looking for. The tasks may be different, but the better you imagine what you need, the more effective reading will be.
We begin to read slowly and carefully, retyping each of these listings
The key word is "slow" - no need to rush, especially if you still do not understand anything in this topic or do not understand everything. Here the principle is the same as with the ruby book: manual labor generates errors -> errors generate tasks -> solving problems trains the brain and adds understanding.
Regularly - once every half an hour or an hour - we pause and remember what exactly we did the previous hour
Oddly enough, a pause of 5-10 minutes allows the brain to structure information, which means it is better to save it and get it out more quickly if necessary.
Finishing the next topic, see if we have learned enough to solve the problem.
And if enough, then either finish the reading (we will return to this book when the need arises), or we supplement and expand the task. It is important that you need to do this before you begin to read further: try to complement the task and figure out how it could be solved in an ideal world.
Slowly but surely read to the end
Well, or we stop reading, because we learned everything that was needed.
Once again, remember what the book was about
I look at the table of contents and reproduce in my head what I was talking about, then I look through the listings and remember what mistakes I had there. If there are very voluminous and complex programs, then in the most difficult places in each line you can comment on what is happening and why.
Important! We are writing a program using the maximum of what was in the book
Our brain is an extremely rational thing and that which is not used very quickly dies and is forgotten. To new knowledge settled down, you need to apply them immediately.
This is where my algorithm ends. If you follow it, you can get the most out of every book. But nevertheless, the main thing is not to forget that reading a book is at least somehow 100,500 times more useful than postponing reading in order to do everything right, but then.