Earlier quoted context omitted.
Rose Hulman is an undergraduate teaching school that also has a distinction between a Software Engineering Degree and a Computer Science Degree. The Software Engineering degree takes a few less math courses and instead takes classes on QA/Testing, Project Management, and Formal Methods
SE is often taught out of the engineering school while CS the faculty of science, which in my experience makes a huge difference.
You are never taught how to build quality software
461–470 of 500 posts
Re: You are never taught how to build quality software
#462How cartoonishly incompetent have we allowed managers to get that they can't connect stability to money on their own? If the stability concerned a bridge, would engineers also be expected to translate a potential collapse into monetary terms to get their manager to approve a higher grade of steel cable?
Re: You are never taught how to build quality software
#463Earlier quoted context omitted.
My impression is the gist is: When you think like an engineer, your focus is on problem solving, and using the appropriate tool(s) to do that. On the other hand, typical developers instinct is to code, code, code; at least based on my experience.
I don’t know if you’re trying to be rude, but this comes across as quite disrespectful. Parser tools are indeed very powerful, but those abstractions carry tradeoffs that any “engineer” will consider.
But I also wasn't focused on parser tools. My observation was more universal. That is, engineers look before they leap. Developers leap first and ask questions later. Engineers are intentional. Developers much less so, and far more reactive.
Re: You are never taught how to build quality software
#464Earlier quoted context omitted.
Yuh. I guess that's "modern times". I taught in the late eighties, and auto-grading wasn't a thing. FWIW, I was a "temporary visiting lecturer", i.e. contract fill-in help. I had to write the syllabus (literally), the course plan, and the hand-outs. I also had to write all the tests and the exams; and I had to mark the exams, and then sit on the exam board through the summer holidays. The pretty girls would flutter t…
Yikes. Actually not so modern, my college was auto-grading 20 years ago.
(I certainly wasn't going to take digital submissions from them; that would mean floppy disks, and I regarded any disk that had been touched by any student as if it were infected with plague, because it almost certainly was. All the school systems were always infected).
Re: You are never taught how to build quality software
#465Earlier quoted context omitted.
Do SE classes teach debugging skills? I hope they do. So many times I have seen people try random things rather than follow a systematic approach.
But debugging is about "trying out random things". You can call it a Monte-Carlo tree search is you want to sound smart. And I don't feel is not something that is worth teaching in universities, because it is 90% experience and for me, the point of universities is not to replace experience, just give enough to students so that they are not completely clueless for their first job, the rest will come naturally. What un…
Re: You are never taught how to build quality software
#466Earlier quoted context omitted.
> is that something a university should strive to be? Universities taking public money (including students government grants/loans) should strive to make society better. Part of that is getting kids into good jobs that society needs done. There are a few "retired" people taking classes that they are paying for on their own just for fun. If those people think they are getting value despite taking subjects society does…
People making roads and building powerplants also take government money. Do you expect them to prepare people for software dev jobs too? Just because companies decided to start requiring degrees because they're too stuff to pay their own staff, IMO they shouldn't get to divert universities from their original mission, which is education and research. Afterall, those are also important to society, and if they don't do…
Re: You are never taught how to build quality software
#467Binary arithmetic doesn't make dollars for your bosses, but its fun. That doesn't make it less significant.
Re: You are never taught how to build quality software
#468Earlier quoted context omitted.
Not everyone is writing a webapp where you can roll out upgrades anytime CI passes, or a phone app that you can upgrade every week. some of us work on code that will be shipped in a device that is not easy to upgrade.
Not all software that is frequently updated is a web app. Ask Tesla, Apple, Sonos, Garmin, ... Anything connected to a network could be released frequently if people wanted to. Not everything is connected to a network though.
Some things should not roll out updates without extensive testing, including manual testing to verify nothing was missed.
Re: You are never taught how to build quality software
#469Earlier quoted context omitted.
Most devices work within the spec 99.9% of the time, but that last .1% it is outside the spec. The exact % is different for different projects of course, but the idea is still there: no software operates according to spec 100% of the time.
It does though. My example of adding two ints within a known finite range would operate to spec 100% of the time. You would have to introduce things like tolerance to hardware failure, but that is outside the spec of the software as stated.
Re: You are never taught how to build quality software
#470Earlier quoted context omitted.
I've never had it once in my career where using a parser generator wasn't better. Given that it's an in-language parser generator and not some meta-language monstrum like ANTLR. Maybe when writing your own programming language, own complicated data format or low communication protocoll while requiring extreme performance. But that seems to be super rare, at least in my area of profession.
I’ve had a very different experience. I can think of three occasions where I was able compare a hand written parser with something built using a parser generator or similar tool. In two of those cases, the hand written code was far easier to read and modify. This kind of code can also be easier to test. Parser generators aren’t a free lunch and they vary considerably in quality.