Mice Brenner wrote:
> Mark commented on Masters Degrees in computer science:
> > ... I've looked at the master's programs for ... nearby schools
> > and I see the same thing: the courses I finished taking as an
> > undergraduate fifteen years ago. Everything I've needed to learn
> > to do my job and explore beyond it I've learned on my own, whether
> > it be C++, 3D graphics, CORBA, Ada 95, distributed processing,
> > and I've done it far more efficiently and cheaply than I would
> > have by getting a Master's degree.
I would never say that! -- MarC :-)
> The purpose of a Master's Degree (or Bachelor's degree) is not to
> prepare people for a job. Why are there job-related courses
> at the Master's degree level? The purpose of Academia is to do
> research, both basic research and applied research.
> The computer science field is rapidly approaching this ideal where
> the job market is looking for skills instead of degrees.
I think I do need to clarify what I wrote, because it wasn't as
clear as it should have been.
When I say that the local Master's programs offer the same courses
I took fifteen years ago, I didn't mean that I expected to see
Java or Website construction or "Intro to Hot Technology X". I
meant that the Master's courses were _literally_ the same courses
I took as an undergraduate. Unless it was an area where I haven't
had a lot of interest, like networking, the course descriptions
and syllabi have long been old news to me.
So, I think you and I are quite in agreement, along with Mice..er..
> And when degrees are required, they are domain degrees.
> These domain degrees are likely to be finance, electrical engineering,
> chemical engineering, biological engineering, communications
> engineering, control systems, nanosystems, robotics, and for the rare
> compiler company even computer science.
> Of course a math degree is substitutable for all of the domains,
> since math is the queen of the sciences and the empress of all
> domains. No smiley: seriously, mathematicians can not only substitute
> for any engineer, but they can actually explain the domains to
> those engineers, once those domains are modelled mathematically.
> Between a mathematician and a domain expert, the domain expert is
> laid off, because that mathematician: she can really do more jobs.
Uhh...okay. Roaring fires can erupt over this one :-)
Let me just say I've worked with two practicing mathematician/
programmers, both of whom had PhDs. The first one should
NEVER have been let anywhere near a compiler, Ada or otherwise.
The other was one of the best engineers I've ever worked with.
> > If I can get a Master's by being given the book list, and doing
> > the tests and the project(s), okay, maybe I'll think about it.
> > But I'm not going to waste a semester sitting in a classroom
> > going over material I've long since mastered as part of my job or
> > could pick up on my own in a few weeks at most.
> Agreed. Many believe that we should not measure student progress by
> the number of hours spent sitting in classes. Instead we could measure
> their progress by tests (reading, writing, arithmetic) and
> experiments (fine arts, sciences, and politics).
> Luckilly there is a way to do exactly that, for today's computer
> programming professionals:
> Skip the masters and go directly to the PhD. If you can pass the
> comprehensive test, then you can also skip all the classes, whose
> only purpose is to prepare you for the comprehensive test!
I've investigated doing this. Locally, anyway, I run into two
A) You have to have a Master's, so just go get one.
B) You don't have to have a Master's, but you need to take some
extra classes to compensate (i.e., see A).
I don't want to come across as somehow trying to get an advanced
degree on the cheap. It's just that my tolerance for pointless
tasks has dropped off precipitously since my college days. (Back
then it was probably good training for this industry, though :-)
I'm more than willing to put in the effort to earn a Ph.D., and
there's even a subject area I've been kicking around in the back
of my head regarding software architecture, complexity, and
patterns (which fortunately seems to have now passed its ultra-
> Earn credits by doing research projects and writing up the results.
> Culminate in a slightly bigger research paper called a dissertation.
> Stand in front of reviewing committees; dont sit in back of classrooms.
> Mark's comments have the right attitude towards both education and
> career. We must break out of the mould of stale opinion. That is, when
> opinions get mouldy, you should leave them behind.
> When you have memory leaks and hanging pointers, temporarily convert
> to Ada to fix them, then convert back to more dangerous languages.
> When you wish degrees, get them through research instead of through
> listening to lecturers.
> And the Ada language has instigated a lot of realtime problems that
> have not yet been solved.
> Did you know rate monotonic is well known only on single-CPU systems?
> We are only beginning to study it for multiple-CPU systems.
> Did you know that people measure the difficulty
> of maintaining code by counting lines of code instead of by the
> coupling and cohesion, because no one has researched the exact
> effect cohesion has on (a) analyzing the impact of change,
> (b) configuration management, and (c) difficulty of testing?
> Did you know that we do not know exactly how hard it is to untie
> a knot, and that efficient algorithms for many types of robotic
> paths and other simple geometrical things have never been researched?
> There is a lot of stuff out there that can be done, and a lot of it
> was kicked off by Ada's building parallel tasking right into the
> language. It will take 200 years of research to really understand
> the full application of tasking to computer applications. And each
> of us should participate in this research, to the extent that we
> so desire.
> Mike Brenner
Marc A. Criley
Chief Software Architect
Lockheed Martin ATWCS
[log in to unmask]
Phone: (610) 354-7861
Fax : (610) 354-7308