Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I find it hard to achieve true understanding reading theoretic computer science (TCS) books. In particular, I struggle with symbolic notations and proofs. After spending a very long time perusing all the pages, I find that I still struggle with the very basic concepts when doing exercise problems. What's a good process to really understand the concepts being communicated in the books?

share|improve this question

I have the same problem. I struggle with the symbols, and that makes it really hard to follow the theorems.

Recently I came across a statistics book at a library which had a list of those symbols and their meaning at the start of the book and while reading I realized something that was so obvious - I should've compiled a similar list and kept it next to me when reading a TCS text. Whenever I come across a symbol I don't recognize/understand, just look it up.

share|improve this answer

You don't state what level of TCS problems you're dealing with or what books you're reading.

There are several incredibly bad textbooks in the field of TCS. Maybe you should look for alternatives which may provide better intuitive explanations, rather than just symbolic proofs. Or maybe you should back down for a while and go back to studying the basics if you haven't grasped them yet.

Other ideas:

  • Use TeX to write a summary of the stuff yourself. That will impress your peers, and you will learn a lot while doing it.
  • Engage with the Wikipedia community and try to improve the related TCS articles. That will give you a whole lot of new insights.
  • Discuss the problems with your peers and ask for help.
share|improve this answer

I would agree with Gruber, that from my personal experiences I have found that many TCS books (especially the ones they recommend in school) can be embarrassingly bad and unuseful. I would take his suggestion and try to look for better books on whatever subject you are studying. Try Amazon.

In terms of reading these books in a more productive way, I can only offer my personal experience as a software developer.

First, you must understand what you are trying to accomplish by reading this book/chapter/section. I usually do this by first reading and trying to understand the questions that will be asked about this section (or in my case these days, the goal I am trying to reach in the end). Do this by reading and thinking about the questions, you very likely will not fully grasp things but do not let this discourage you. This pre-work is just to attempt to let enough info sink in so that light bulbs may go off in your brain when you read the book.

The next step is to glance over the section you are reading. What I mean by this is...

  • Flip through once very fast and just read headings and bold text
  • The flip through the section slower, but, this time, glancing over the words of each section. (In this step I try never to look at one page for more than 30 seconds)

By this time, you should have a good idea of what is in the section and what you want to gain from reading it in detail. Now go ahead a read that sucker!

Usually, I find that this few minutes of pre-work saves my a lot of time bashing my head trying to understand what I will need to know and why. Most of the time it will lead to one of those "ah-ha!" moments where it all fits together.

Best of luck,


share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.