I have a book called "Grokking Algorithms", and when I'm done with my current tabletop game project I plan to work through this as much as it seems worthwhile to do so. I was not at my best when I took the class that corresponds to what's in this book, so I figure it would be good to study it further. It's basically a data structures/algorithms textbook with a lot of pictures and diagrams. I want to get better with linked lists, pointers, and that sort of thing. Basically I figure if I understand the theory better and do some code examples I'll be much more comfortable with these kind of important programming building blocks. I think I'll have time to do this, and even a little more, before I graduate. Do you guys have any suggestions for how I could further develop understanding that will help with being a more skillful programmer? This seems like a good place to ask because I think the people here who know about programming are more science and math oriented, like I am.