Saturday, January 15, 2011

Reading Reaction #1

Reading about the early history of engineering in other countries was interesting because of the kind of parallels I have noticed in the field of computer science and software engineering, which have really only emerged as distinct fields in the last 20 years. One specific similarity I noticed was between the different ways Britain and France treated engineering and how current US universities and colleges treat software engineering as a discipline with respect to computer science. Many famous institutions, including UC Berkeley, Stanford, and MIT, do not offer a software engineering majors (and both UC Berkeley and MIT offer computer science as part of electrical engineering rather than it's own discipline, as well). UC Berkeley is especially well known for emphasizing theory over practice in education, much like France's theory based approach to engineering education. Cal Poly, which is famous for it's "Learn by doing" motto in contrast, does offer a software engineering major and acknowledges it as very similar to computer science but still distinct.

However, this difference in perspective on software engineering does make a lot of sense if you consider the non-differentiating schools more theory based and differentiating schools because the difference is mainly a practical one. Abstractly, one can say that software engineers and computer scientists do the same thing; they write computer programs. Of course, this is a very simplified version but it should give anyone a basic idea of what they do. At this level, there is not much difference and it makes sense that computer science is the major of choice for students looking to become software engineers. But there is a critical difference between what you do and how you do it, and this difference is what distinguishes computer science from software engineering. In short, this means that computer science is about coming up with algorithms (our intimidating and fancy word for how you make a computer do something) and software engineering is about using algorithms.

This aspect also struck a parallel with the current British attitude toward engineers expressed in the reading "The Formation of an Engineer: The British Method of Creating Engineers" by George Page where he describes "the British view that an engineer is formed out of the sum total of their experiences, not just the initial training that they have received." In the software industry education does count for a lot, but experience is very heavily weighted. Portfolios of past work are essential to getting hired. Knowing your theory is great, but if you haven't written programs and don't know the first thing about computer code, then your chances as a software engineer are slim.
On a different note, these readings also make me curious as to whether there were subsets of engineering that thrived and possibly continue to thrive in one of the countries we discussed and not the other because of their different approaches. It seems some branches, like chemical engineering, would be much harder to do in a situation with little to no theory than others, like mechanical or civil engineering. We already do know some of the limits of the old British system, such as how "ill-equipped to convey theoretical instruction in fields with which the master was not himself familiar," as stated by Dr. R. Angus Buchanan in The Lifestyles of the Victorian Engineer, but it seems like we have read little on where the limitations or advantages of the different styles push the types of engineering.

Andres Gonzalez

1 comment:

  1. I liked this article—I am glad that you were able to tie in your experience with the readings. Per your last statement, I think that I was wondering about the same—I feel like it would be very difficult to learn civil or mechanical engineering with only theory. I feel that I have gained a lot more knowledge from my experiences in lab, and I think it would be very difficult to not have the ability to learn through modeling of different situations. I am also glad that you defined Computer Science versus Computer Engineering. I have been wondering that for a long time now, so thanks! Interestingly enough, I was considering UC Berkeley before I knew what their program was like. The research based curriculum there also detracted me from even applying. I have always been more attracted to being able to have a physical product to show for all the work I do. Yet I think it is interesting that socially, we still hold UC Berkeley in higher regard than we do other more hands-on universities. It makes me think that it could be from the fact that Berkeley has been around for so long, and has built the reputation of a very strong education. I think it is also because of the differing UC v. CSU system that we get the hierarchy of university institutes. (229 words)

    ReplyDelete