Where Are the Software Engineers of Tomorrow?
stsc.hill.af.mil
stsc.hill.af.mil
The fault here is in the business owner expecting freshman grads to be skilled in highly specialized software development specific to their business. The schools are pumping out students who are perfectly good programmers, and if he actually trained them to use his tools, they would be good programmers for his environment.
Edit: To be clear, if the were a university teaching only Java to the students, it would be a bad university. Such a university doesn't exist. If he wants formal methods, he needs to higher Masters students or higher -- or optionally donate a few $$ to a CS department in exchange for adding the course to ugrad.
Edit 2: I'm going to stop editing this now.
Speaking as someone who had to take several attempts at differential equations to pass it, and has (a) had a very solid career since graduation; (b) has never used even integration or differentiation a single time since graduation, let alone numeric methods, etc., I call BS.
Tons of math is useful for about 1% of programmers.
For the rest of us, it's just a form of hazing, like intern doctors being forced to work 48 hr shifts.
Algorithms, linear algebra, basic logic and discrete math are all used commonly in many CS jobs, especially by those who have a deep understanding of the systems they're working on.
He runs a company that sells Ada dev tools, so I would take what he says with a grain of salt.
Also I strongly suspect the number of good software engineers is pretty much fixed, and no amount of fudging with this or that will change it.
Now the number of bad or at best average engineers, I suspect that is very responsive to all kinds of things.
Disclaimer: ex-defense programmer. Java. C++. <shudder>
> "Over the last few years we have noticed worrisome trends in CS education. The following represents a summary of those trends:...the development of programming skills in several languages is giving way to cookbook approaches using large libraries and special-purpose packages."
I agree with the "several languages" part, but why is using a large library a worrisome trend? Is it really that bad?
Using a library doesn't seem like a bad idea to me. Programmers often advocate code reuse and using a library is an example of code reuse. If you need to sort data, use a provided sorting algorithm or one written by someone smarter rather than writing it yourself. If a problem is solved, don't solve it again, right?
Does it have to do with understanding the solution to the problem?
FWIW, I took a class taught by Shonberg (about OOP) when I attended NYU. Ironically NYU CS majors are required to take several classes that use Java, so I guess he wasn't able to convince the administration of his views. However, I learned a tremendous amount from the algorithms and OS courses there, and there were some great classes still using C and C++.
The thing that gets to me is that we fret so much about the curriculum. We all know the list, we either choose or don't choose to engage with it. I don't think this can be pushed into someone's head anyway.
Oh wait, af.mil... Yeah, those guys are. :)
EDIT: Tho, I do work on C# and C++ and the Mil is moving away from C# because it basically has a garbage collector....