in reply to
The recurring model
Thanks to everyone for their thoughtful comments!
I frequently tend to reinvent the wheel because I isolate myself from external theories - every thought is a personal battle...
Thanks TomDLux for your comment, as I am not even in first-year yet ;-). Of course, much better patterns can be detected in life but this one appears to work well for CS. I've noticed that in programming there are sets of transferable and nontransferable skills: transferable = don't prematurely optimize your code; nontransferable = print via System.out.println(). Once you know the base of programming its very easy to learn another language.