An Introduction to Engineering Discipline
Overview
Objects or entities in life are either naturally formed or purposefully designed for a particular situation. Over the span of 4.5 billion years, nature, as a blind engineer, has been continually shaping and reshaping our world. Continents, mountains, and plateaux are constantly reformed by movements of the lithosphere in a process known as Plate tectonics. New lands are formed in the middle of other lands and oceans, forests are destroyed and recreated. From seemingly simple structures such as rocks and snowflakes to relatively complex structures and designs such as human eye and flying fish, nature has indeed made itself a great engineer. Living organisms of our planet, for the sake of survival, have had no choice but to either adapt to nature’s unstoppable, shaping forces or find ways to manage or live with them.
The constant changes of the planet Earth by nature has been forcing animals to find or invent different ways for improving their chances of survival and procreation. Beavers, for example, have learned to build dams, lodges and canals. They build dams to create deep pools of water to protect themselves against predators. Humans, by contrast, have learned to build dams, canals and lodges using different tools and methods albeit for the same ultimate goal.
Some animals have discovered the role of team playing in designing structures and solutions for problems that face their kind. Ants, as an example, build complex structured colonies that support spectacular ventilation pathways for air conditioning deep beneath the soil. Humans, therefore, are by no means the only engineers on our planet.
Apart from its wonderful designs and creative arts, nature has been a major source of problems for humanity. Earthquakes, volcanoes, floods, tsunamis, atmospheric instabilities such as global warming, and desertification are just a few examples that humans have been facing throughout history. But humans have never faltered or slowed down by nature from building civilisations.
Civilisations start with questions. Questions, in turn, breed imagination. Imagination is what makes human go beyond usual, beyond normal. It is imagination that builds pyramids, creates flying machines that can go beyond the atmosphere. It is imagination that throws tons of iron plates into the seas and makes it float to carry tons of loads round the globe. It is imagination that enables humans to extract computers from the soil earth and send them deep into the space to examine the soil of other planets that are barely visible in the sky.
“For humans to design and build anything that has not already been made by nature, they have to imagine a world beyond what is perceived with the biological eyes. They have to be able to see with the eye of imagination.”
Who are engineers?
Most of our modern world is leftovers from ancient civilisations. They have left us arts and artefacts that fuel our imaginations for building a better world. While scientists probe deep into different natural phenomena and study them often for no particular purpose, engineers address particular, societal problems and apply science for finding practical solutions for them.
Engineers, therefore, play crucial role in building and maintaining our modern world. They utilise different kinds of tools from heavy gears to computer software but they also design and develop new tools when required. Engineers of all disciplines address every aspect of a problem that they are assigned to solve using right tools and methods at their disposal. Through practical experience and applications of science in university, governmental, and private sector laboratories, engineers develop new knowledge that can be used for improving products and services.
return top
The engineering method
Scientists follow a particular set of rules to conduct research and develop new theories known as scientific method. Engineering has its own method that should be considered severally. Engineering problems are mostly open-ended. An open-ended problem has more than one solution. This, however, does not make the problem easier to solve but rather complicate a solution. The problem statement of open-ended problems often does not provide enough information to suggest a particular technique or method. Filling out the gaps and missing information in the problem statement with proper, reasonable assumptions by engineers is necessary and oftentimes is the case. Making right assumptions, however, require practical experience.
Engineers have to develop skills such as:
- The ability to visually (or numerically) represent problems, designs and solutions
- Experience in making assumptions for missing information in problem statements
- The ability to suggest or provide possible solutions for a design problem
- Efficiency at seeking information about design problems
- Skills in effectual planning and scheduling
- Skills and efficiency in using available resources
- Skills in team organisation and managing engineering activities
return top
Science vs. Engineering
The language of precise science is mathematics. Scientists observe natural world, gather raw data, and deduce laws using the precise language of mathematics and may further develop theories to describe the data. Engineers, on the other hand, apply the abstract laws for solving societal problems. In short, using the precise language of mathematics, scientists deduce fundamental laws of nature which are later applied by engineers for solving problems.
return top
Inventiveness
Although engineers may also be scientists and possess details and comprehensive knowledge of physics and mathematics, they do not necessarily use that knowledge in solving design problems. Oftentimes abstractions that hide the inner details of a system helps engineers to find impressive solutions. While the laws of nature are there and cannot be broken, engineers found magnificent ways to deal with them. A clear example is when Intel engineers find a way to solve the problem of light distortion during the projection of patterns through special masks onto silicon chips. Light waves won’t pass through extremely narrow slits without significant distortion. Instead of focussing on light and try in vain to break the laws of nature, engineers cleverly found ways to bend the mask itself in such a way as to counteract the distortion and obtain a correct pattern at the output. This means that while the laws of nature are inviolable, there are smart ways to deal with the obstacles that they lay in front of us.
Another example that majestically deals with the laws of nature without breaking them is the block-and-tackle. Block-and-tackle is a cleaver method for lifting heavy objects with minimal efforts. It is composed of pulleys arranged in such a manner as to increase the force of lifting on an object without any changes of the applied force. This means that an applied force to lift an abject can have an effect of double or more force on the object. This is an example of inventions that have been built before the knowledge and science that later explained them. Figure 1 below shows this system.
Figure 1. A sketch of block-and-tackle |
Some design problems, however, can only be solved with thorough knowledge of science and laws of nature. Launching communication or military satellites to orbit our planet or robots to land on other planets require sufficient knowledge of Newton’s laws and mathematics. However, engineers, in such cases, work with other experts and scientists.
Modelling and prototyping is at the heart of all branches of engineering. A model is a simplified copy of a real-life system. It is usually smaller in size and structure compared to the real system. Engineers examine models to learn about or prepare for the design of the real system. A model has to be designed and build in such a way as to respond to outside forces the same way the real system would. However, models do not have to be physical systems; they can also be a design on paper drawn with a pencil.
return top
Network of systems and subsystems
Our modern understanding of the world is such that everything is connected to everything else. We live in a network of interconnected systems and subsystems. Engineers have to be able to see the world of design problems as networks of entities and can draw the connections between them. To do that, they use what mathematicians use and call graphs.
A graph is composed of nodes and links that connect the nodes together. While mathematicians may use numbers or other numerical representations as nodes, engineers use systems or entities and the shared properties or values as links between them. Figure 2 shows a general form of a graph.
Figure 2. A graph of nodes and links |
Nodes can be any entity; from ideas to physical systems. Since the real world is networks of systems and subsystems, so as real world problems. Engineers have to think 'networks' (systems and subsystems) when they solve design problems.
return top
Systematising designs and solutions
The intricacy of design problems compels scientists and engineers to view the world in terms of “systems and subsystems”. Engineers in particular, often use the “divide and conquer” strategy to tackle engineering problems. Otherwise the sheer understanding of a problem would be impossible. Figure 3 shows this idea.
Figure 3. A system with its subsystems and interfaces |
As it can be seen in figure 3, a system with a defined boundary may have one or more subsystems that are interconnected with interfaces. Interfaces are ways of communication between the systems or subsystem. A car, as an example, is a system that has subsystems such as engines, gears, tyres, etc. Each subsystem is connected to the car system via an interface. When you separate an engine from a car, the points at which the engine is connected to the rest of the car are interfaces.
Systems are also part of larger systems and the larger system can be seen as its environment. A desktop computer, as another example, is a system that has subsystems such as hard disks, a monitor, a motherboard, etc. The subsystems themselves may have one or more subsystems. The hard disk has disks, electronic circuits, and motors as subsystems. Engineers always see systems and subsystems to define, analyse, and tackle engineering problems.
There are two major reasons why the notion of systems is popular in the world of engineering. One reason is natural in that the structure and organisation of our brain, as we will see in later chapters, stores and retrieves information in similar way i.e. in contexts or chunks of related concepts. The other reason is directly related to engineering designs. Designs in terms of systems and subsystems tend to be reliable, robust, maintainable, reusable, and simple. A computer hard disk, for example, if it was designed and build separately from the computer, can be reused, separately maintained, separately diagnosed or tested, and separately further developed. A hard disk on itself, on the other hand, has also subsystems that can be seen and dealt with in similar way. Yet another reason why using system-subsystem is that, systems with boundaries create labour division and specialisations. A specialised engineer/worker/scientist can be more productive and focus on a particular area of expertise and excel in it.
Systems are communicating with the environment through links that are called interfaces. Some systems have clear boundaries or their boundaries can easily be drawn. Walls of a building or circumference of the Moon are clear boundaries. However, there are systems with unclear or less obvious boundaries that need some extra efforts to separate them from their environment. A piece of software application that accesses the Internet, for example, has indistinct boundary. Usually failure in solving a design problem lies in the boundaries of the system.
Breaking down a system in the right manner, therefore, is vitally important in engineering world. We mean by right manner, dividing the system into its constituent subsystem. This means that each subsystem should be a complete system by its own, or at least partly, in such a way that it could be designed, tested, managed, and further developed separately. Figure 4 shows an unfruitful way of dividing a system.
Figure 4. Breaking down a house system into nonsensical parts |
As it is illustrated in figure 4, a system may be broken down into nonsensical parts that they no longer represent subsystem. This kind of division is obviously useless. Using a house to explain such division is meant to simplify the idea. However, similar useless division may be pursued in systems that's not as obvious as in this house example. A right division of the same system is presented in figure 5. The subparts of the figure are systems of their own right.
Figure 5. A house system broken down into useful parts |
A better, more useful way to break down the house system is to use a “system and subsystem” sketch. We draw a large container as the boundary of the house and represent its parts as subsystems inside this container then we identify each part and its possible subparts. Figure 6 show this idea.
Figure 6. A house partly represented as system and subsystems |
return top
Software and Computer Engineers vs. Computer Scientists
Before outlining the major differences between computer engineering and computer science, we need to revisit and make clear a few points about engineers and engineering. When it comes to complex systems that are comprised of interconnected subsystems which in turn may have subsystems of their own, the whole is always greater than the sum of its parts. It is not possible to understand such systems by mere examination of their particular subsystems. A complex system can only be observed as a whole, not as parts.
Picturing complex systems in terms of interconnected network of subsystems, however, is easier to design, manage, and understand. As systems tend to be composed of intricate subsystems, which in turn might require different skills, one particular engineering discipline cannot cope with the design problems of all systems. Because of that, engineering has been evolving into dozens of specialised disciplines. From the main branches of engineering such as civil, chemistry, and electrical engineering to agricultural, marine, media, software, and computer engineering, the number of engineering disciplines has been growing with the advancement of science and technology.
Generally speaking, engineers do not require knowledge of the internal details of a system, but they must understand the general structure of systems and the interfaces that connect them together. Engineers have to be able to reuse a system in other, larger systems and the only way they can do that is through thorough understanding of interfaces that connect them to the outside world. As informal surveys suggest, engineers should be prepared to adapt to different areas of engineering since oftentimes they ended up working in areas other than what they majored in. This is perhaps why some engineering schools tend to encourage students to have more than one major or a major and a couple of minors so that they can easily switch to different areas of work environment.
Today, engineering of all disciplines are heavily dependent on computers. As a result of that, engineering disciplines that are involved in computer development and information processing have become vitally important in our modern world. There are three major fields that are closely related, yet significantly different, in computer world. These are: Computer Engineering, Computer Science, and Software Engineering. Each discipline, in turn, has its own branches and specialties. Computer Engineers design and test both computer hardware and software. They are mainly concerned with computer hardware, particularly its internal circuitry and architecture. But they also share concerns about software such as operating systems. Computer Engineers must have sufficient knowledge of computer architecture and hardware interfacing. They should also have deep understanding of digital circuits and logic designs.
Computer Scientists are largely involved in advancing computer technologies, laying out the design for the next generation of computer systems. They conduct research in order to discover new and better algorithms, more reliable software applications that result in better networking, smarter search engines, faster browsers, etc. Some computer scientists are involved in research on robotics, network security and data acquisition systems. They are basically brining new, better computer systems into existence.
Software Engineers, as the name implies, are primarily concerned with developing software applications for computer systems. They apply mathematical concepts, and the knowledge or discoveries that have been produced by computer scientists, on designing, assessing, diagnosing and developing computer application systems. The work of software engineers are directly related to the needs of computer users. Software engineers solve software related problems that computer users face in real world. Their concerns include maintaining existing applications as well as developing new systems for problems that require them. Albeit software engineers work on designing software, rather than programming, they must also have good programming skills in major programming languages.
return top
Computers as Engineering Tools
Apart from communications, engineers are extensively dependant on computers for other purposes such as information gathering and processing. Computers understand a language called “machine language”. A programme can be written in machine language to perform a certain task. However, machine language is considered to be low level language since it is hard to programme and time consuming for developing software applications. Compilers are software tools that are designed by engineers to convert more self-descriptive, higher level languages to machine language. In that way, more complex and eventually more productive programmes can be generated.
Computer programmes are frequently designed by engineers to automate tasks. Software-based test automation, for example, requires algorithms that are executed by computers line by line. Developing algorithms and writing programmes, therefore, compel engineers to develop a clear understanding of programme flows. Engineers depend on diagramatical representation, such as flowcharts, to understand the flow of programmes. They also use software debugging tools for analysing programmes. In the past times, engineers had to develop most of the programming tools but today there are hundreds of alreay-made tools that they can utilise.
return top