I'm a computer engineering student. I definitely have my strengths and weaknesses like any other student. And, I would like to improve upon areas that I'm either struggling in or completely missed in my fundamental intro courses.
This year I realized that there are few gaps in my knowledge specifically when it comes to programming. I understand most concepts, but sometimes I notice that I can't implement some concepts into code on my own.
This is due to gaps in my knowledge. There were couple times when teachers in my intro programming classes didn't have time to cover all the fundamental materials so they skipped content. I didn't realize how big of a problem this is, until now, when I'm in higher classes.
I'm still doing fine, but I'm scared this will grow into a bigger problem. I frankly have so much homework and studies and I can't dedicate time to go and start from zero again, especially because I know most things but missed on few important concepts. The problem is, I'm not exactly sure what all the concepts that I missed on are.
How can I fill the gaps in my knowledge in timely and efficient way? I would like to take your advice and study old content during winter break.
I learn better by practicing problems and reading books, and I don't learn well from coding websites. Are there any work books that I can buy and practice with, preferably workbooks that cover solutions so I can compare my answers?
In particular, I have troubles converting algorithms from the textbook to source code in C++ and Java. Sometimes I struggle in implementing data structures such as queues/and stacks into C/C++ or java. I understand iterative programming, and I need to improve my understanding of recursive and dynamic programming techniques.