I finished my semester about a month ago - The programming classes I took were Java, C, and Intro to Data Structures (in C++). Since finishing, I went with my family on vacation, and have started work. I don't think that I've forgotten a huge amount of stuff from the classes, but definitely some of it.
I'm wondering how you guys combat that. How would you recommend reviewing the material - Do any of you actually re-do the assignments (I'm thinking of doing this)? I'm also starting to re-vamp my independent study, as well as starting to learn some new languages and frameworks (rails/django).
I do a small review every day. You could just do assignments from your books. Those reviews I do only take a couple minutes anyway after you master the concept. For instance, the other day I took out a piece of paper and sorted an array by hand using the quick sort, selection sort, and merge sort while reviewing each concept. After reviewing it on paper I coded them, the entire process took only took like 10 to 15 minutes or so.
For example, today I am reviewing polymorhpism. So for a review I ask myself what is polymorphism? I actually answer outloud(yes, even in public where people think your talking to yourself like a lunatic. What better time to review?)Generally speaking, polymorphism allows us to work with a different set of behaviors using a single interface. We support three basic kinds in the c++ language, function and operator overloading, overriding, in c++ we call these virtual methods, and templates. Now breiefly go over what each of these concepts are and do a quick exercise on each one. It won't take more than a couple minutes out of your day.
Thanks for the responses, guys. They were all helpful!
I think I will take both of your perspectives. I understand that not everything (or hardly anything) is useful once you get to doing actual work, but I think you can probably become a better overall programmer if you take something, and keep practicing it until mastery.
@IceThatJaw,
I really appreciate your advice. I will seek out those things, and start working on them. Would there happen to be some specific resources that you could recommend? If not, I'm sure it won't be too hard to find.