So ultimately it is called computer science for the wrong reason.
Unfortunately, even though it was one of the best such programs in the world, and turned out graduates who made 80k+, it was still generally looked down upon, as the degree that people took who "couldn't get into Computer Science".
It is unfortunate that people in academia severely look down upon anything that has a more practical focus on useful skills, and only respect theoretical studies.
Whether academia is responding to signals from industry, vice versa, or neither is an interesting theoretical question. In practical terms, one might argue that better route for those industries at least is to choose a degree with higher perceived value.
[0]: http://coursecatalog.web.cmu.edu/schools-colleges/dietrichco...
Fortunately, I wasn't talking about areospace, or defense, or whatever. The vast majority of people who come out of CMU, are not working in these very specific job areas, so they aren't relevant.
Instead, they are working at SF tech companies like Facebook, and Apple, and the like.
And if you look at the places that the Info Systems people go to, it turns out that the vast majority of them have the job title "Software Engineer", making a median salary of 90k$:
https://www.cmu.edu/career/documents/2018_one_pagers/dc/Bach...
It turns out that a whole bunch of people with these degrees are able to get top software engineering jobs at top tech companies.
> In practical terms, one might argue that better route for those industries at least is to choose a degree with higher perceived value.
No, the facts show that a very effective way of getting a prestigious job, working at a top tech company, with the official job title of Software Engineer, is to get an Information Systems degree. The stats I showed, prove it.
The problem for most schools is an engineering degree is a specific, formally defined degree. It seems that ABET has recently updated their Software Engineering criteria, but for decades a software engineering degree required extensive curriculum in physical science.
It teaches you how to work as a web developer. Web development being something that people often call software engineering.
Use whatever word or definition that you want to group Info Systems under, but at the end of the day, these people with these degrees are still getting jobs at Google, FB, and the other top companies, and/or startups, and are giving the job title "software engineer".
That is the definition of software engineer that I use. It is defined as "Those people who are working at google, or top startups or whatever".
Cal Poly https://csc.calpoly.edu/programs/bs-software-engineering/ San Jose State https://bsse.sjsu.edu/ Penn State https://behrend.psu.edu/school-of-engineering/academic-progr... Univ Washington https://www.uwb.edu/bscsse Univ Houston UT- Dallas UC Irvine etc.
Agree though that the Soft Eng degree is differs from CS largely by dealing with process, not technology. The first versions of the SWEBOK were pretty terribly biased towards a waterfall process.
Ultimately, my school could not offer a formal Software Engineering. "Engineering" degrees have not caught up with the times to include software. A software engineering degree would require completely irrelevant course in physical science - like thermodynamics, statics, and advance physics.
name three.
UC Irvine: https://www.informatics.uci.edu/undergrad/bs-software-engine...
Penn State: https://behrend.psu.edu/school-of-engineering/academic-progr...
Those three schools are > 30k students each.
http://main.abet.org/aps/Accreditedprogramsearch.aspx
(UCI doesn't appear to be one of them.)
The modern day web dev degree is called "Information Systems". Top schools offer it, but it is generally looked down upon as the degree that people take who couldn't get into Computer Science.
CMU offers a minor in Soft. Eng. It requires 6 courses (one is fluff) and a minimum 8 week internship in industry. What's also good about this CMU minor is that it's open to students of any major.
I have no affiliation with them, but like the model.
I did for fun two MIT graduate students labs (operating systems, and distributed system) that complement the lectures.
https://pdos.csail.mit.edu/6.828/2014/overview.html http://nil.csail.mit.edu/6.824/2015/
I found them very challenging and interesting. It took me a few weeks to complete them, and I didn't even do the "project" part which was more open-ended.
The end result is nice little feedback loop of far better understanding of the theory and concepts behind the code that I write feeding into writing better code, which then feeds back into better understanding. So now when I help peers (especially friends still in college), I focus less on the language and more on helping the concept click for them.
I can't say how well this works in practice in a university -- it sure seems to work for MIT -- but I know that in my professional life it has made just about everything I do far easier to reason about and my work is all the better for it.
Yeah, it came across to me that the expectation was that you'd learn to program mostly outside of the course. Or, really, that you already had a reasonable grasp on the basic concepts. Otherwise I think that course would feel to most people like being tossed into the deep end of the pool from a great height.
To be sure, with the campus version of the class there would be recitation sessions and other resources to get help on the programming side. There's also a companion textbook that goes into more Python details. But that's certainly not a class to "learn to program," much less how to work on a command line, use an editor, etc.
That may be reasonable for an MIT CS curriculum but most other majors probably don't have the same degree of implied prerequisites.
There's probably an expectation these days that students have some degree of exposure to computers. When I took an intro to computing course (FORTRAN) it was pretty much no expectations. But times have changed.
And I found 6.001x useful. But then I had a lot of experience with computers even if not programming full-time professionally.
Makes sense, guessing not many high schools even had one computer until the Apple II, which I guess would have been a bit after you graduated.
Side note, I love that it's possible to take a course like that online for ~free now.
I did take a FORTRAN course in college which people would consider very rudimentary today. This was the textbook :-) https://openlibrary.org/works/OL6795090W/A_Fortran_coloring_...
But I didn't really use a computer to speak of (other than as a text editor in grad school) until I was working--and later got into programming as a hobby.