The only babysitting programming class I had was real time systems. I used Rational RoseRT and followed a tutorial from IBM.
My first year included, basic programming structures and controls (Linked-Lists, Breadth Tree traversals, etc) then in 2nd year we did more tree traversals, recursive loops, logic (prolog, lisp), object oriented (java), proceedural (ada, cobol) third year got onto specific topics.
Don’t get me wrong, I was never allowed to use a Linked-List library, I had to write it from scratch every assignment. Single, double linked, custom, etc… Ugh.
For example, I was never taught how to use a peice of software that could draw a straight line, but I was taught how to design an algorithm that would draw a line from pixels (I used C with OpenGL libraries on an SGI O2). I also had to program Hull algorithms that are used in colission detection (C++ Linux, OpenGL).
On the same note: No one taught MS API’s or VB .NET, but we had to use them to get our projects/assignments done. All that shit was peripheral.
I don’t know if you’re experiencing someting similar, but it could be a matter of perspective.
I’m not tooting my own horn saying I’m a better programmer then spoon fed college students, however it’s the opposite. For a routine program, i’ll take 10x longer to complete the project as opposed to a college grad. Compared to them, I suck at programming. Sure, i have more exception checking, or tighter loop control but in reality, it doesn’t mean shit. They’re product is meets the same requirements that mine did but took 10x less effort.
Maybe the above is useful or I just needed to reminese about the good old days, good luck in your course.