I'm an engineer too. And I also sometimes act as an academic (teach CS at undergrad level). The university system has been remade into a set of fancy vocational schools though so lets not try to tell anything by what goes on there. I mean, christ, I just had to explain to Professor Cay Horstman that his most recent [link|http://www.artima.com/weblogs/viewpost.jsp?thread=4744|article] was [link|http://www.artima.com/forums/flat.jsp?forum=106&thread=4744&start=15&msRange=15|horsepucky].
As to the rest of your post - you're talking about eschewing a state pattern design and preferring switch statements. Fine. This is a 100% language independent decision. What's it got to do with Smalltalk vs Java? Smalltalk has a switch statement (most do - you can write one in a minute of yours doesn't).
As for most of the patterns, I've found that a lot of them simply vanish in Smalltalk. It seems that many of them are workarounds for poor language design decisions in Java and C++.