Learning Algorithms
Reading Technical Books (From Reddit)
I have dual screens set up (laptop/desktop), one for searching and one for coding.
Read a section of the book.
The most important part is actually coding the examples in the book. This goes a long way for me to actually memorize the concepts being taught, rather than just reading about it.
I mess around with code snippets from the book a lot. I ask myself "what would happen if.." and then code it. If I get an error, I ask myself why. If it works, I ask myself why.
Try to get through every exercise. If its a good book, they are there for a good reason (such as purposely making you encounter an issue with a topic you just learned, which will lead into the next section on how to resolve it).
Also, if you get stuck on an exercise, take out a paper and pencil and write the problem out. This habit can significantly shorten the time you spend on errors when the real issues come. It is the first thing I learned in my first programming class.
A programmer reading a technical book without coding is like a mechanic reading the car manual and never actually touching the car.
Really depends on the nature of the book in question and what you actually want to get out of it. But in general; Notes
Here's a simple process:
I'll use this free book on Operating Systems as an example.
The idea is to get you to use your head while you read. When you read a boring technical book you usually don't even process what you read, you just consume it and it gets lost in your head, because let's face it; it's probably dull. Here you first figure out what you know by trying to guess what the chapter holds, this also helps to prime you up. This is what you know and you can then easily contrast it against the information in the book. By writing down notes with your own words and writing your own summaries, forces you to process the information on a whole different level than you would by just reading. And finally trying to teach the material to someone helps you even further to understand it
Learning Algorithms
- www.learncpp.com (Frankly, the best place to learn imho)These should be enough for learning C++
I would suggest to go through these data structures.
- Linked lists
- Stacks
- Queues
- Trees
- Graphs
- Heaps
- Hash tables