Slashdot Mirror


Engineering School Grads - Tradesmen or Thinkers?

El Cubano asks: "ITworld is carrying a story (sorry, no printable version) saying that John Seely Brown (former chief scientist at Xerox and director of PARC, currently teaching at the University of Southern California) is encouraging engineering schools to change the way they educate. The article, quotes Mr. Brown saying the following: 'Training someone for a career makes no sense. At best, you can train someone for a career trajectory...'. What do you think? Should engineering schools be producing tradesmen (like an apprenticeship program) or should they be producing 'thinkers' (people who can cope with a wide variety of problem inside and outside their area of expertise)?"

7 of 325 comments (clear)

  1. It takes both kinds by emor8t · · Score: 5, Insightful

    It takes both. Producing "thinkers" gives us people who understand what is going on, and can analyze situations.

    Problem is, they tend to over complicate somethings.

    For example. Who would you hire to do the wiring in your house, and electrician or an electrical engineer?

    Granted this is an extreme situation, but in theory, shouldn't both be able to do the task? Yes. However, an electrician has done it many times before and has the benefit of experience.

    Now, who do you wanted designing a NASA space vehicle?

  2. As a grad student at USC by tempestdata · · Score: 5, Insightful

    As a grad student at USC and someone who has studied under Mr. Brown, I'll say that I have to agree. Atleast as far I am concerned, I wouldn't want my professors to be teaching me a specific technology or system. I want them to teach me to think at a higher level. I mean if you really want to learn a technology well, do you really need a classroom and a professor? Can't you just pick up a few books, download some tools/compilers/etc. and learn it yourself?

    On the other hand, what professor's teach you isn't so much how to code in Java or write PHP. What a professor teaches you (atleast the ones I've studied under here at USC) is how they (or other experts) tackled/approached engineering problems in the past, which IMO is more valuable.. in other words.. they impart more wisdom than knowledge. I think most good engineering schools would follow a similar pattern of teaching.

    --
    - Tempestdata
  3. Re:Employers? by metlin · · Score: 5, Insightful

    The market forces of supply and demand will control which universities succeed and which fail.

    The ones that keep teaching useless crap, will fail.


    That's a very short-sighted perspective.

    The Fourier series was discovered in the 1700s, and calculus before that, by people who thought they were doing pure sciences. Any applied value then? Nope, none whatsoever.

    Ditto for boolean algebra, which came about long before we had computers.

    The ones that teach in a modern way will succeed.

    Care to define what "modern" is?

    Why do we still teach CS and engineering majors tons of higher math? It's a vestigial remnant of what computers and engineering used to be about.

    Oh, I do not know, maybe because most of _actual_ engineering is applied math? You should probably read up some papers on graphics, AI, game theory or theoretical CS -- it's almost entirely all math.

    Today we have computers to do the math for us.

    No, today we have computers to repeat and apply existing solutions to problems we have already solved. New problems? The human mind still kicks ass at pattern recognition and problem solving.

    Universities will adapt or die. The ones that insist on teaching CS or engineering like it's just some subset of a math major will go away.

    Most areas of CS and engineering are subsets of math and physics. Computer Science is more than writing some code, it's about mathematics, formal logic and other applied areas.

    In fact, in the days to come, I'd imagine that CS itself is likely to breakup into smaller areas of focus.

    Goodluck, though. Methinks you flunked math in school?

  4. Would be nice... by lelitsch · · Score: 5, Insightful

    But thinkers is not what most employers want in the freshly graduated engineers they hire. They want someone they can put onto project x using software y or tool z on day one, no matter how much their CEOs might talk about how they want "thinker" and "pioneers". There are some exceptions, but "I can layout amplifier circuits in ORCAD, program in Matlab and have never looked at anything except radar" will get you into the door at, say, Raytheon much faster than "I learned that I am good at problem solving". Now, it's a different story for engineering masters or PhD grads, but still most HR people prefer the skills match, be it Matlab or AutoCad, over the intangible qualities. This is at least partly due to the fact that you can't easily judge them in a resume and a short interview, but also because the engineering manager tells them "I need someone who can fill the place of the AutoCAD monkey who quit last week.

    Creativity and "thinking" probably makes you advance faster once you have a job, or when you apply for your second job, but out of college, it's not the most looked for quality.

    Disclaimer: I got a software job immediately after graduating in nuclear physics.

  5. What the good engineering schools do... by Erich · · Score: 5, Insightful
    Is introductory classes that fuse ideas (Algorithms, Data Structures, Memory Allocation, Signal Processing) with specific languages (say -- lisp, Java, C, and Matlab).

    Then, once you get into upper level classes, you use those tools that you've acquired -- from classes or from elsewhere -- to accomplish tasks.

    At least, from what I've seen. Who's taken a design class and been told what language they must write in? Unless you're forced to use an existing tool (ie, you MUST do your Computer Architecture work by extending simplescalar) or limited by the architecture (you can only choose between C and Assembly on most microcontrollers).

    When I took my computer architecture class, we did trace-driven pipeline and cache models. I did mine in python; I was familiar with it from friends and I enjoyed using it. (I still do.) Other people used languages like Perl and Java, because that is what they were familiar with.

    When I took video game design & programming, my group used Java for the client and C for the server. Other groups used tools like Visual Somethingorother or the Unreal engine (which was state of the art at the time). They chose tools that got them the product they wanted in the time they had. The team that wanted to do a "FPS Ultimate Frisbee" had great success with the Unreal engine. We had great success doing a multiplayer 2D board game using Java for the clients and C for the server. Partly because we were familiar with the tools and didn't have to fight them. Similarly, the person using Visual Studio wanted to make a DirectX game... and that was the right tool for the job. Writing a FPS from scratch in Java was clearly not the right option, nor was writing a 2D board game in the unreal engine. But the point was classical engineering of the kind that is most useful: given a set of resources (10 weeks in the quarter, a few University students with other classes, and only so many tools in the bucket), come up with a feasible idea and implement it.

    Other schools have "computer science" programs where you learn linked lists and C++ pretty far along in your schooling (Junior year?), and you rarely (if ever) get free enough to design projects from the start. The difference is one of philosophy: using whatever tools available to accomplish the task you want to do, versus knowing tools to make things that someone else has mostly planned out.

    It takes some of both kinds of people to make the world go around.

    Most skilled trades (law, medicine) have secondary post-college programs entirely on top of arbitrary undergraduate degrees. It's a shame in a way that engineering gets crammed in with everything else; I think the secondary programs confer more respect on the people that go through them -- and a higher salary. If you had to get a Degree of Engineering on top of your undergraduate degree of choice, maybe engineers would have the respect they (IMNSHO) deserve.

    --

    -- Erich

    Slashdot reader since 1997

  6. Re:Employers? by Llywelyn · · Score: 5, Insightful

    You are fixating on one example and missing the point.

    Pythagoras, Euclid, etc were largely theoretical, despite that their later application. While newton's work was done hand-in-hand with physics, that wasn't necessarily true of Leibniz. Euler's work gets used everywhere, but a lot of it had no practical application at the time. Fourier's transform only became truly useful after the advent of the FFT. Riemann's work has ramifications in crypto.

    --
    Integrate Keynote and LaTeX
  7. Re:handle by Jake73 · · Score: 5, Insightful

    Couldn't disagree with you more.

    Schools have tremendous resources available for those that want to put down the beer and get hands-on experience. The next 40 yrs of engineering will be hands-on experience.

    What matters most for the 4 yrs is the density of education. And that comes from learning how to think, analyze, learn new methods, etc. Hands-on apprenticeships are typically little more than pattern-matching. A good education builds mental capability for a wide variety of pursuits.

    A decade later, that apprentice is worthless when the market changes and he no longer has a job. With a good education, one can easily come up to speed on a completely new style of engineering because he has the mental tools to be effective.

    In their efforts to woo corporations and become more competitive as corporations themselves, higher education has become a whore to the corporate agenda and that has (and will continue to) damage the future preparedness of our students.