Originally Posted by

**copeg**
To add to Kevin's advice, depending upon how far advanced your book has taken you, a few avenues you might wish to explore that are relatively language independent:

1) Algorithms. Sorting algorithms seem like the typical examples used, and a good place to start learning recursion.

2) Data structures. LinkedList, trees, graphs, and algorithms to traverse the structures

3) Design Patterns. Software design principles that in my view are extremely important to have knowledge of.