Hacker News new | ask | show | jobs
by rufus_foreman 1110 days ago
This varies depending on the university.

Where I got my degree, a degree was 120 credit hours and typically 30 credit hours of that would be in your major. For economics, there were those 30 credit hours and also a requirement for calculus (a dummied down calculus class that didn't require trig) and an upper level stats class.

For CS, there were 30 credit hours of CS and an additional 30 credit hours of math. You end up with a major in CS and a minor in math. Looks like it would have taken 3 more upper level math classes to do a double major.

2 comments

Agree - at Oxford, the CS degree is essentially all algorithms and mathematics, and any coding you do is largely incidental.
When I did a CS degree at a Scottish university in the 1980s it definitely felt that the core of the course was maths (both engineering maths and a lot of different theoretical CS subjects) and while we did a lot of programming that was really only there to explore the concepts. There was very little emphasis on how to write code or good development practises - you were expected to pick those up by yourself as you went along.

My only real criticism of the course I did that it was just maths and CS for four years - which meant there was very little flexibility for people to do other things for the people who wanted to change subject.

Yep! And some universities, like The University of Waterloo, allow you to get either a Bachelors of CompSci or a BMath. And almost everyone at Waterloo agrees that the BMath one is harder and better. They also offer a software engineering course that is also difficult, but with a lot more focus on getting computers and software development closer to the ideal we have in structural engineering. I.e., let's treat these things like the live saving machines they are, and not as something we can move fast and break.
That's the rub; no one actually wants to hire "software engineers", for all that that's the job title.

They want programmers, who will write code they can sell as quickly and cheaply as possible. Trying to raise a software engineering discipline to the standard of the real engineers would leave you with an employee too expensive to do what his professional ethics wouldn't allow him to.

Maybe for smaller companies, or if this were 2012. Not sure about this now for FAANG. Engineerieg processes are deeply prioritized these days.
This doesn’t track with my experience in industry whatsoever. In fact, those sorts of “low ethics” programmers are arguably the biggest hiring risk, and large amounts of effort and dollars are put into avoiding hiring them.
> Trying to raise a software engineering discipline to the standard of the real engineers would leave you with an employee too expensive to do what his professional ethics wouldn't allow him to.

Nah. The vast majority of software projects are of the lower echelon variety e.g., the slapdash shopping cart web apps. Considering JavaScript is still the language of choice in that realm, engineering rigors can’t exactly be of any real consideration.

No, it’s not the expense keeping real engineering away, it’s the culture.

Also most of what "software engineers" are asked to work on are not engineering problems. There are of course exceptions, but the vast majority of positions labelled "software engineer" aren't doing anything that would really be called engineering. You are just wiring frameworks together to achieve some goal and reading the documentation to figure out how to make it work.