1

How to read textbooks like you listen a lecture? Best way to read academic/scientific books What are some good techniques for reading a textbook? How do I improve my ability to learn?

I read all these answers and it seems like the best idea is to solve problems. But issue with self-studying problems is that some problems are too easy whereas some are/might be too difficult.

For example, the data structures book by lipschultz contains lots of problems, but most of the unsolved problems there are very easy. And I don't know if the other problems there are made for my level.

How to select a book for unsolved problems(I mean those that have an answer but not a solution i.e not examples but unsolved problems with an answer).

How to differentiate between such problems? How to get streamlined set of problems that you know are not challenging enough to make you quit reading but challenging enough to push your limits?

barnyard9
  • 173
  • 6

1 Answers1

0

First you need to find a challenging book. I can't help you with anything modern (retired now), but The Science of Programming by David Gries is an excellent source of problems as well as an excellent source of ideas about structuring and creating programs. The book can probably be found in most academic libraries if you find it expensive. I found that book to be extremely valuable in my learning and retain my copy over many (many) years.

In most textbooks the order of problems generally follows the order of the exposition in a chapter. Not always, but it is normal. It is also fairly common to "pair" exercises with an even numbered problem requiring similar thought processes to the preceding odd numbers one. So, if you start with the even numbered problems you will do about half of the exercises but most likely cover the main ideas.

Note, however, that a book with "solved" problems may not be an advantage if it leads you to the conclusion that reading a solution is the same thing for learning as creating it without prompts.

There is a deeper issue for self study, however. You might be able to reach a "solution" to a problem with a garbage program. If you want to advance in CS then you need, among other things, to be able to create elegant programs, not just quick & dirty ones. That normally requires feedback on your efforts which is harder to obtain outside a structured classroom.

One possible solution is to find another person with a similar need and work together in learning. Decide on a problem to solve and then each of you do it independently and then share your solutions. Follow that up with a discussion of the good & bad parts of your solutions.

But any sort of feedback on the quality of your programs is valuable. Maybe even essential.

Buffy
  • 363,966
  • 84
  • 956
  • 1,406