4 ms·
Honestly, a lot of university curricula are, at best, out of date, since often academics are not necessarily incentivized to learn the latest and greatest of pr
by bobthepanda 4y ago
Honestly, a lot of university curricula are, at best, out of date, since often academics are not necessarily incentivized to learn the latest and greatest of programming.
I remember entering a Java course, where the professor specifically said to write Java 6, even though it was EOL and Java 8 had been out for a while, and you would get points knocked off if you used any "fancy" Java 8 stuff they didn't know.
- bawolff 4y agoProgramming really hasn't changed much fundamentally in the last 20 years. I think its a good thing university doesn't chase the current trend. The knowledge would be quickly outdated. They should teach the stuff that isn't flavour of the week but common to everything.
- alpaca128 4y agoSome things do change, though, and courses which involve specific technologies should at least be up to date to a point where people aren't required to use Windows XP when every laptop runs Windows 10.
- zerkten 4y agoI kind of get what you mean, but you don't provide a good example. The first question is what are the specific technologies and why are they involved? If you take some outdated version of Java, this could be interpreted as teaching you to be a Swing developer, or how to apply Java for user interfaces and learning some fundamental design patterns. Whether it is the former or latter matters a lot. Oftentimes the people taking the course don't appreciate which it either which is problematic. In your example, someone could be given a really good desktop programming class on Win32 whether they used Windows XP or Windows 10. The success of this is orthogonal to the tools at hand really. It is what the professor and/or students make of it.
- bobthepanda 4y agoIn general, I find that many fresh college folks (new hires and interns alike) struggle with Java streams. Streams and stream adjacent things like Optional remove a lot of tedium and footguns from older Java code styles, and unfortunately learning them tends to be a speed bump for anyone onboarding to the code base from college, because it’s just not covered, even in a Java algos course where I believe they’d be fairly relevant.
- zelphirkalt 4y agoHad a similar thing with a guy who taught Android programming and was stuck on Android 2, while Android 5 or so was out. He did not know about specifying button handlers in the XML of the view and all kinds of stuff. They did not manage to set up the IDE properly for the exam, so that logging and installing the written app on a phone did not work either. Got out of it with a bad grade, because he did not see his Android 2 shit in my solution.
- nikau 4y agoThis is why courses should focus on fundamentals not flavour of the month stuff. Learn assembly, then learn C, then code up a small OS and learn semaphores and stacks and how a computer actually works.
- simplotek 4y ago> even though it was EOL and Java 8 had been out for a while, What's wrong with that? You're supposed to cover the basics in intro to programming courses, and typically Java is not outright taught in college, and instead it's object-oriented programming using a random OO language, which more often than not is Java. Do you need to use Java20 to learn inheritance? Also, unless you expect to work exclusively on greenfield projects, the bulk of any developer work is maintaining legacy applications. I still see an awful lot of projects in java 8 and only a few in java 11. Insisting on the latest and greatest java release makes as much sense as pressing to cover Lombok or Kotlin.
- bobthepanda 4y agoI mean, Java 8 had the lambdas and FP which I would argue are pretty important in modern Java. But like, that’s the rule. I took a web class in college and the professor was teaching how to use <i> and <b> tags, which are no longer supported as part of the standard. (Not to mention that these days it’s not really helpful.)
- simplotek 4y ago> I mean, Java 8 had the lambdas and FP which I would argue are pretty important in modern Java. What role do you believe lambdas and support for functional programming play in object-oriented programming courses?
- bobthepanda 4y agoI don’t just see this behavior in OOP style courses. Most algos classes would probably benefit from streams, and there are many of them being taught in Java for reasons unrelated to OOP. Universities often stick to one language for much of the programming curriculum.
- oriolid 4y agoTo prove two points: First that forcing objects everywhere makes things really complicated compared to FP, second that under the hood everything can be shoehorned to object model.