Categories
Engineering Curriculum

Benefits of an abstract engineering education

My prior post was critical of the abstraction-based, mathematics-heavy, and computation-focused eduction served up to today’s engineering students. It has been my experience has been that the most successful engineers in industrial practice are very hands-on, with years of practical experience, and insights that have little to do with academic equations. That’s not to say that the academic abstractions are unimportant, for they provide the language of discussion. An intelligent conversation about, say, a motor drive system, requires participants to understand that additional motor horsepower is not necessarily needed to produce greater output torque. (An engineer friend recently shared with me his attempt to explain this to a non-engineer boss. In the end, the boss said, “This doesn’t make any sense to me, but if you say it’s so, it must be.”)

Despite possible shortcomings in the current methods of engineering education, today’s graduates continue to be hired, and paid well-above average salaries—so employers obviously benefit from bringing on students who survive the current curriculum. Whatever modifications I might advocate for improving engineering pedagogy, I would certainly hope not to abandon these beneficial characteristics of today’s engineering programs. So what does an engineer learn from dealing with high levels of abstraction?

  • Perseverance — It often takes hours, maybe even days, to work through a single homework assignment. One has to look at each problem statement and begin trying to match the available information with potential methods of solution. Often times, roadblocks in understanding are encountered. The instructional material needs to be re-read, and re-evaluated to build a more comprehensive understanding of the solution technique. If the solution is not already known (from prior semester homework files, or found online), then a student has to at least convince themself that their path of deduction and computation is logical and rational. Shortcuts in this process are rarely rewarded in the long run, and engineering students rarely make it past their sophomore year if they haven’t acquired a healthy dose of perseverance.
  • Emotional suppression — Solving math problems is not a matter of nuance, or persuasion. It doesn’t matter how mad you get, or how optimistic you may be. Either your solution works, or it doesn’t. A successful student learns to keep cranking away at a problem until the correct solution is found, regardless of their emotional state.
  • Delayed gratification — Not withstanding the time spent working individual problems, engineers have to spend several years working on fundamentals before they can begin to solve higher-order engineering problems. Want to study photography? Grab a camera and go take some pictures. Want to be a writer? Start a blog. Want to be a civil engineer? Then expect to take four semesters of prerequisite courses to get to the point where you can begin seriously talking about bridge construction. In fact, your four years in engineering school are just a warm-up for going into industry, where you have to learn how engineering is carried out in the real world.
  • Humility — Solving complex math problems leads one to be wary of false optimism. A dropped sign, a transposed notation, a forgotten property, a misunderstood application—all can lead to an incorrect solution, even though the methodology seems correct. This aspect of the engineering education has been well-stated by Vivek Haldar:

    To be a successful software engineer (or indeed, any engineer), one first needs to be utterly and completely broken by failure. One must be so humiliated by a complex system that they give up and realize that the only chance of moving forward comes from being a supplicant to the complexity, by approaching it with humility and caution, not with hubris. You have to listen to the system, coax it into behaving. Commanding it does not work.

  • Sub-problem identification — Getting the hang of breaking complex problems into solvable sub-problems is an important engineering skill. My understanding of how this could be accomplished came in the second half of my sophomore year. No longer did I have to look for an equation or method that solved an entire problem at once; I could break the problem into smaller parts and solve the sub-problems individually. This was my first inkling that I might actually be able to “think” like an engineer.

Any other benefits to a traditional engineering education that I’ve missed?

Categories
Engineering Curriculum

Adding to the Curriculum

While trying to get more informed on how engineering education can be improved, I thought I’d post my “newbie” perspective on what subject material needs to be added to the core engineering curriculum. As illustrated above, there are at least six areas that I think deserve greater attention. These are, in no particular order:

  • Software Skills: As I mentioned in Programming the Physical World, I think that software skills are going to become exponentially more important in coming years. I’m not talking about knowing a particular language syntax, per se, but rather an awareness of issues such as code storage (revision control), quality assurance (unit testing), and complexity reduction (refactoring). It’s far too easy to create software that gets the job done, but leaves gaping holes with regard to access, usability, and security. Just look at the constant stream of code updates from big players like Microsoft, Apple, and Adobe—these companies have access to world-class programmers, yet there remains an unending flow of corrections to fix previously undetected errors. Just this week, Microsoft admitted to a security bug that’s been in their code for 17 years! As we start programming the physical world, it won’t just be bits and bytes that are compromised. It could conceivably be bridges and electrical stations and chemical plants that are compromised as the result of poor programming practices. As with so many things related to engineering, a small mistake can lead to disastrous results. It seems to me that an instructional program like Software Carpentry would go far in helping engineers improve their software skills.
  • Individual and Group Behavior: We train engineers to be great problem solvers, yet much of the difficulty in implementing solutions is not technical, but rather social. Further, we want engineers to operate devoid of emotion, and to think in a purely rational manner. Yet a quick glance at popular books like Predictably Irrational and Sway: The Irresistible Pull of Irrational Behavior indicates that most people operate in anything but a rational manner.  At the very least engineers should be aware of:
    1. Their own limitations in perceiving and evaluating the world around them.
    2. Human tendencies to respond in certain ways to external inputs; for example, our innate tendency to want to reciprocate favors, to be part of the majority, to be consistent in our actions, etc.
    3. Methods used by marketers and politicians to sway both personal and group decision-making.

    If engineers are going to be effective in advising society about our increasingly complex world, they need to be aware of human tendencies in evaluating information, and in responding to requests for action. I’d like to see a semester-long program like Software Carpentry address these issues. Primary texts for this class would be Influence by Robert Cialdini, and Yes!, 50 Scientifically Proven Ways to Be Persuasive by Noah Goldstein, Steve Martin, and Robert Cialdini. A text on negotiation skills might also be appropriate here.

  • Technical Communications: If the preceding class on human behavior provides the strategy for effectively communicating an engineering perspective, then this class would be focused on the technique of delivering a targeted message. Engineers need to have a sense of how non-engineering audiences process information if they are going to counter the emotional appeal of most marketing campaigns. An investigation of information graphics would include texts ranging from Tufte’s classic book, The Visual Display of Quantitative Information, to the more casual Back of the Napkin. The Challenger Incident could serve as a case study in the importance of clearly deliniating the important engineering issues at hand.

    Methods for presenting a clear, concise message would be covered, referencing texts such as Presentation Zen and slide:ology. Also included would be a discussion of presentation styles such as the Lessig and Takahashi methods, as well as the Pecha Chua and Ignite formats. An introduction to LaTeX may be appropriate as well, as few things are uglier than presentation slides showing equations that have been typeset using Microsoft products (IMHO).

  • Risk Management: It is rare in most industrial settings to find individuals who can keep up with the mathematical skills of a fresh engineering graduate. So when an engineer is asked to make a calculation, the boss rarely wants to know how the calculation is performed. Rather, the boss wants to know if a particular product or process will operate in a desired manner. However, given the variability in all materials and methods, there is never an exact answer to such a question.

    For some engineering problems, such as elevator construction, there will be a safety factor that is specified by code. However, no particular safety factor is given for most industrial tasks; an engineer must determine the appropriate safety factor for each situation. To do so effectively, an engineer must be cognizant of the risks that are inherent with his or her assumptions, and know how to convey the risk of those assumptions to others, who will likely possess less technical knowledge. This is especially critical given that all of us usually make poor estimates of inherent risk. It appears that Virginia University’s Center for Risk Management of Engineering Systems is attempting to address some of these issues.

    Update: A possible text for this material is Judgment under Uncertainty: Heuristics and Biases. Referenced in this post by John Cook.

  • Physical Problem Solving: Engineering problems would take forever to solve if each engineer had to develop their own theory of calculus. Yet we leave engineers to come up with new designs without giving them any hint as to how the work of prior generations could help them solve their problems. If the engineer doesn’t stumble upon the connection to prior work by happenstance, then each new design effort is simply an educated guess.

    Inventor Genrich Altshuller and his colleagues studied the trends found in Russian patent filings starting in 1946. They developed a theory known as TRIZ, which translates from Russian as an acronym for “the theory of solving inventor’s problems.” The TRIZ methodology offers users a means for examining “new” problems in terms of existing solutions, thus often leading to quicker results. Although much of the TRIZ theory has been extended by private firms that keep their methods close to the vest, there do exist some open-source resources for learning this approach. There are also numerous books on this subject, including one by TRIZ developer Genrich Altshuller himself. Instruction in the TRIZ method could be enormously beneficial in improving the effectiveness of tomorrow’s engineers.

  • Design Thinking: If the prior class defines how to produce a technical solution, this topic seeks to identify how to successfully implement a human solution. There is usually a large disparity between what people say they want or need, and what they actually use, do, or buy. Thus design thinking, in essence, is a focus on identifying human needs. As noted in a recent post by Stanford professor Bob Sutton, design thinking was developed by engineers. It is now being incorporated into other areas of study, including medical schools and MBA programs. However, many engineering schools fail to introduce their students to even the basics of design thinking. In addition to instructional material available from Stanford’s d.school website, there a lot of information available from the website of design leader IDEO. Perhaps books like The Art of Innovation and Change by Design could serve as reference texts.

So what is going to be thrown out of the core engineering curriculum to permit these courses to be taught? My current thought is that there must be a way to more quickly bring students up-to-speed. Perhaps the “lecture, study, homework, test” cycle of traditional education can be improved upon. If so, I bet the solution will rely heavily on the six skills areas outlined above.