CSCI 5828

Foundations of Software Engineering

Course Location
   1B 28

Course Time
   Tuesday and Thursday
   11:00 AM - 12:15 PM

Topics
   What's New (Home)
   Class Schedule
   Lectures
   Assignments
   Student Comments
   Contact Information
   Evaluation Criteria
   Status Reports

What's New Archives
   January, 1999
   February, 1999
   March, 1999

Ken,

Since you would also like some feedback from the CATECS student, let me see if I can address some of the questions you asked in the two tapes I've seen so far.

First, experience. About 5 1/2 years. I graduated from CU May, 93, went to work in Sept. of 93.

In my prior life (CS is my second major career), I started my prior life as a chemist doing polymer product development and some organic chemistry for the flavor and fragrance industry. Primarily, I feel that the difference between chemists and chemical engineers can be characterized this way. A chemist makes use of the rules, laws, experience and experimentation within the field to develop a product and possibly a related process. The chemical engineer designs and most likely installs process equipment that will be used to produce a product or a group of products. Disregarding the issues of safety and process for the momemnt, the meeting place between the two often happens when the chemist is ready to hand off a product to the person(s) responsible for scaling the process up to a production level. Don't forget, equipment can be designed for a single dedicated purpose, such as a continuous process distillation as is used in a refinery, or it could be a general batch type equipment, often used for dissimilar products. Chemical engineers are often tasked with the safety aspect of production, along with writing the production and safety processes.

In some ways, the software engineer covers both roles, doing the creative work of coming up with new algorithms, products, or tools, then creating the process and the "safety" set, as well.

One other point that I wanted to make, and for the moment I can't remember the exact context. When you were talking about design, I wanted to make the point that it is important that designers have an adequate grounding the paradigm that they are designing in. For example, a disasterous, but often performed, situation is to have someone whose whole experience has been procedural, such as a mainframe designer or experienced C developer, put in the role of an object oriented designer without giving that person training and experience. More often than not, the result is wasted time and effort, and possibly cancelled projects. So, part of the "management" aspect of engineering is matching the correct people and tasks.

You also asked why psychology and sociology are important, and got some good responses to the effect that people work in a team environment. I think it's also necessary because management is really about people. People manage people to produce products or services for other people. They are usually not machine like, nor especially "programmable." So alot of the work of a manager or an engineer requires people skills to provide the goal setting, motivation and problem solving typical in those environments.

Enough of the soap box... :-)

-Bob


© Ken Anderson, 1999.
Last Updated: 8/16/00; 2:46:02 PM