Volume 4 No.1, Winter 2000
Importance of Algorithmic
Approach for Engineering Mathematics Courses
There is a wide disparity among
approaches for teaching mathematics in engineering schools throughout the world.
Some universities have mathematics departments within faculties of engineering
while in others common mathematics courses are conducted in other schools or
faculties, which are attended by engineering students as well. As a result, some
courses try to teach mathematics only as a tool while others tend to be more
theoretical in nature. Hence, the question arises: what is the best way of
teaching mathematics to engineering undergraduates? This paper attempts to
answer this question, by discussing the experience of teaching mathematics at
the Faculty of Engineering, University of Peradeniya, Sri Lanka.
Due to the advancements in
technology occurring at a rapid pace throughout the world, the role played by
engineering graduates is also changing. For example, design, maintenance, and
repair jobs have taken a new dimension. In many places, major portions of some
of these jobs have been taken over by computers. Sophisticated software, which
is capable of taking over many jobs of this nature, has been developed. As a
result, many people believe that in many situations the job of an engineer has
been reduced to one of sitting at a computer terminal. Others think that
learning mathematics only as a tool is sufficient due to these new developments.
Unfortunately, the truth is very
far from this picture. The present day engineers need a thorough knowledge of
mathematics; otherwise, they could become redundant. In this study, we shall try
to critically analyze the current approaches of teaching mathematics to
engineering undergraduates. We shall also discuss the advantages of the
algorithmic approach of teaching mathematics to engineering students based on
the experience gained at the Faculty of Engineering, University of Peradeniya,
OF ENGINEERING APPLICATIONS
The use of mathematics in solving
engineering problems is so pervasive that it may be difficult to imagine any
engineering applications that do not require the use of mathematics. Very
often, the size of real life problems is very large compared to the problems
solved at the classroom. Sometimes, students find it difficult to make the
transition from the classroom to the real life situation. It is not only because
the actual problems are much more complex, but the difficult transition is also
due to the teaching approach in the classroom. Normally, the problems solved in
the class do not involve extreme cases in terms of the nature of the data.
Often, the notations to be adopted in peculiar situations are also not
discussed. These and other deficiencies will put students in a dilemma when
formulating mathematical models for solving actual problems. Usually, these
problems do not come in a well-defined form. From the information available, it
is necessary to try to put the problem into a suitable mathematical form.
Defining variables and formulating the constraints of the model may take
considerable time depending on the complexity of the problem.
For example, in the construction
of a bridge, various design parameters have to be considered in relation to its
desired strength, length, width, height etc.
Another important objective is the minimization of costs. Very often, it
may be necessary to optimize several different functions of parameters
simultaneously. While certain functions should be minimized, others will have to
be maximized at the same time. This calls for multi-objective optimization. The
difficulty is mainly due to the unavailability of fast and efficient algorithms
for this purpose in many practical situations.
Hence, it is important to realize
that, usually engineering design problems are nearly always tied up with
optimization problems. It seems that many practicing engineers in Sri Lanka do
not pay sufficient attention to this aspect, either because they think that it
is not important or due to the ignorance on the importance of optimization.
In engineering applications, it
is often necessary to solve the same problem a number of times by varying
different parameters before settling down for a particular solution. By going
through this process, suitable solutions for different circumstances can be
expected. The parameters which give rise to the best possible or the optimum
design, may have to be determined using an algorithmic process which improves
solutions from iteration to iteration.
APPROACHES TO TEACHING MATHEMATICS
Most textbooks in mathematics
make use of classical approaches in presenting solution methods to problems. The
majority of mathematics books meant for engineering students deviate very little
from this practice. Usually, students work out ‘toy’ problems in the class
and at the end they get the feeling that, when a solution is worked out for a
particular problem, that is the end of it. They also get the impression that
they have mastered the relevant techniques. In addition, many times, ‘what if
’ types of questions are not addressed in the classroom. At the same time,
students are expected to remember various theoretical results. A majority of
these results is not of any use in their future work. Students are required to
spend time proving theorems that have little practical significance. Usually,
this approach to teaching mathematics is common among mathematics courses that
are not specifically oriented towards engineering students.
On the other hand, there are
other places where the approach of ‘teaching mathematics only as a tool’ is
implemented. They concentrate more on the techniques rather than the theory
behind it. In these places, more attention is paid to the use of computer
software to obtain solutions to mathematical problems. As a result, students
only get a superficial knowledge of the subjects and they cannot appreciate the
finer points. The danger in this approach is that, students may not be able to
construct a solution to a new problem that deviates from the pattern of
previously solved problems.
Another drawback to the above
approaches is that, most students will find it difficult to make the transition
to solving real practical problems due to the considerable gap in knowledge and
approach between the classroom situation and the real situation.
OF ALGORITHMIC APPROACH
An algorithm can be considered as
a complete and unambiguous set of procedures leading to the solution of a given
problem. In the algorithmic approach, every problem is divided into the basic
steps required to solve the problem. The relationship between different steps is
well defined. The conditions under which a given step follows another step are
also discussed. Once all these are
linked up, we get a neatly arranged set of steps, which if followed precisely,
result in the solution of the problem under all possible circumstances.
What happens when following
classical approaches is somewhat different. We try to solve the problem for each
given instance based on the given data. This may not cover all possible
situations. For instance, there is a possibility that a set of given data may
not lead to an acceptable or a feasible solution to the given problem. In order
to see that happening, we may have to attempt to work the problem and in some
cases we may have to compute all most all the steps of the solution method. Only
then do we realize that the problem may not give rise to an acceptable solution.
This usually results in wasted effort and time.
If we follow the algorithmic
approach, we may be able to discover the insolvability of the problem well in
advance. This is because the algorithm will not proceed unless certain essential
conditions are satisfied along the way.
OF ALGORITHMIC APPROACH
The algorithmic approach gives an
insight on how to solve practical problems containing unusual sets of data. As a
simple example, let us consider a meteorological station in which the rainfall
data has to be entered into a computer on a daily basis. If we wish to develop a
program which will give average rainfall and other related information, the
first problem we encounter would be to define the size of matrices in which to
enter the daily data. As different months do not have the same number of days,
it is apparent that a special method has to be adopted to overcome this
difficulty. By adopting an algorithmic approach and constructing suitable
flowcharts, we will be able to come up with ideas for solving problems of this
nature. If we use the traditional approach, we will not be even aware that such
a situation exists.
The construction of flowcharts is
also inherently linked to the algorithmic approach of problem solving.
Flowcharts may be presented in graphical or procedural statements form. An
outline flowchart will describe the relationship between the steps of the
algorithm. The detailed flowcharts allow a closer look at the algorithm by
providing implementation details of each step of the algorithm.
The algorithmic approach gives us
opportunity to present the iterative nature of the solution methods. Because
most practical problems are
iterative in nature, some steps will have to be repeated several times until a
specified condition is met. In certain problems, it is possible to obtain an
acceptable solution after a finite number of iterations. In other cases, the
iterations will continue indefinitely. In
such cases, the iterations must be terminated after a finite number of steps or
when it converges to a desired level of precision. These ideas will never be
appreciated with the classical problem solution approach.
TO INTRODUCE ALGORITHMIC APPROACH
The proof of certain theorems
give rise to elegant algorithms for solving certain problems. For example, let
us consider the following theorem in linear algebra: A square matrix is
non-singular, if and only if it is the product of elementary matrices. An
elementary matrix is any matrix which can be obtained by performing a single
elementary row or column operation on the identity matrix. While constructing a
proof for the above theorem, we come across the following very important result,
which gives an efficient algorithm to find the inverse of a given square matrix
. If we determine the row operations needed to reduce a given square
matrix to the identity matrix, the same set of row operations when applied to
the identity matrix will give rise to the inverse of the given square matrix.
This helps construct an efficient algorithm based on row operations to determine
the inverse of a given matrix. Finding the inverse of a given matrix is
fundamental to solving many problems arising in engineering applications.
Because the steps in many complex
processes can be depicted clearly using flowcharts, they are useful for
describing algorithms. The
use of flowcharts also complements project planning and scheduling for
engineering applications. Therefore, the algorithmic approach of problem solving
enhance the abilities of undergraduates in this direction as well.
Engineering undergraduates in Sri
Lanka are sent for several months of industrial training during their vacations.
During their training, students are expected to obtain first hand
experience on real engineering problems. It is hoped that students will also be
able to apply the theory they learn to solve practical problems.
Subsequently, assignments are
given to undergraduates in which they are asked to formulate a problem they
encountered during their industrial training. This is done as an assignments in
the final year engineering mathematics course. They are asked to describe the
relevant processes. Many students have reported such problems and explained them
in detail. However, the majority of the students faced difficulties when trying
to put them in mathematical form. The main difficulty seems to be the explaining
of the steps in a logical sequence. When the method of using algorithmic
approach was explained, they grasped the ideas quickly and came up with suitable
flowcharts and algorithms.
ENTHUSIASM AMONG STUDENTS
Normally, learning abstract
concepts in mathematics is among the least popular tasks among the students.
Even if the teacher is extremely talented, it is necessary to motivate the
students by various means. However, teaching mathematics through the algorithmic
approach contributed to self motivate the students without any additional
motivating effort by the teacher. The feedback from the students was very
encouraging. One of the reasons for this response could be the realization that
this approach exposes them to an enormous vista of horizons. Another reason
could be the reduction of the necessity to memorize theory by heart as they
could be derived without much difficulty by following the logical solution
process cultivated by the algorithmic approach. However, more than anything
else, the confidence gained by the students to do actual computer coding may
have contributed to this enthusiasm. They also were tempted by the expansion of
employment possibilities, which were brought forward by having competence in
FOR PROBLEM SPECIFIC SOFTWARE
Even though computer software is
available to solve many engineering problems, they are extremely expensive and
beyond the reach of many institutions in third world countries. On the other
hand, they are of limited use for many practical problems. This type of software
works nicely for problems with well-defined mathematical models. In order to use
the software, it is necessary to convert the problems into a form which is
acceptable for the software. However, this is not always possible. Since there
is no possibility for the user to modify the software according to their needs,
the usefulness of this expensive software is very limited.
Sometimes efficient commercial
software is not available even for some deceptively simple looking problems. The
stock cutting problem is one such problem . The stock cutting problem is the
cutting of pieces of various sizes and shapes from a given stock piece, while
minimizing the wastage of the stock material. This problem arises in many
situations in industry. This includes cutting steel or glass sheets into
required stock sizes and cutting wooden boards to make furniture.
In addition, the unrestricted form of this problem arises in timber
industry and textile industry. In a developing country like Sri Lanka, there is
an abundance of moderate sized problems which could be solved effectively by
developing suitable software.
Therefore, in order to solve
problems in local situations, the development of problem specific software has
become a necessity. Engineering graduates should be effectively trained to
handle these problems. The algorithmic approach of problem solving goes a long
way in achieving this goal.
It may not be desirable to use
graduates in computer science for this work. One of the problems is that they
may not be conversant with the engineering and optimization aspects of the given
problems. It may be far easier and efficient to train graduates in engineering
to do this work which also enhances their contribution to the relevant fields.
WITH LINEAR ALGEBRA COURSE
During the last few years, the
teaching approach used in the first year course on linear algebra at the Faculty
of Engineering, Peradeniya has undergone substantial changes. Specifically more
attention has been paid to solving application-oriented problems in both the
tutorial problems and examination papers.
These changes have been
necessitated for several reasons. Practical engineering problems are becoming
increasingly complex. This requires the use of computers to solve the problems
faced by engineers. Therefore, it has become necessary to develop custom made
software to solve problems encountered by engineers. This can be done even with
modest computing facilities for moderate sized problems.
The approach to teaching linear
algebra has been modified as a step towards providing our undergraduates with
this ability, which will be a tremendous boost for their employability too. On
the other hand, the concepts of algorithms and flowcharts motivate the students
to learn mathematics. In contrast to the classical problem solution approach,
the above approach has other advantages too. It enhances the analytical thinking
ability of the student while guiding them in the logical problem solution
process. This will greatly reduce the necessity to ‘cram up’ the theory. In
addition, this will help interested students to develop computer codes on their
Currently, there are two courses
in linear algebra. The changes were made only in the introductory course at the
first year on an experimental basis. It is yet to be implemented at the second
year course which contains the topics of vector spaces, eigenvalues and
quadratic forms. The topics in the first year course include: elementary matrix
theory, determinants and solution of simultaneous equations.
The course exposes the students
to the fundamental ideas on mathematical modeling, algorithms and flowcharting.
At the outset, the importance of algorithmic approach for solving problems is
highlighted. Some examples from daily life, like preparing a cup of tea and
purchasing an item from a shop, were also given to show that the algorithmic
approach is the most fundamental approach to problem solving in any situation.
Then, the method of constructing a flowchart to describe the algorithm was
explained. By doing this, it was possible to stress the necessity of an
iterative solution procedure in many problems.
The students were allowed to
think about how to place the different steps of working the problem in the
proper logical sequence. The
conditions under which a certain step could be performed are considered.
Limitations on the sets of data that could be used in the algorithm were also
Once the algorithm was completed
together with the flowchart, it was carefully analyzed for its correctness and
to determine whether any improvement in solution process was possible. At a
glance, it may not be apparent whether a particular solution method is superior
to any other for the same problem. This may need a careful analysis of the
algorithm which could incur lot of additional work. However, some common sense
improvements could be made without spending much time. Nevertheless, these
improvements could contribute to considerable savings in computations in large
Some of the simple algorithms
discussed during the course include:
Reading a set of data as a vector and a matrix.
Multiplication of two matrices
Determine the transpose of a matrix
Obtaining an Echelon matrix using elementary row operations
Finding the inverse of a matrix using elementary operations
Multiplication of matrices using partitioning
Expanding a determinant using cofactor method
Finding the inverse of a matrix using adjoint method
Expansion of a determinant using pivotal condensation
Solution of simultaneous equations using Gaussian elimination
Solution of simultaneous equations using Gauss Jordan method
For some of the easier
algorithms, pseudocode was also discussed. Unfortunately, programming aspects
could not be fully discussed due to limited time available. Nevertheless,
students were able to gain valuable insight into formulating mathematical models
for real engineering problems.
TO IMPROVEMENT OF SKILLS
In Sri Lanka, development
projects are taking place all over the country. Some projects are implemented
with foreign collaboration, while others are solely of local participation.
Unfortunately, some of these projects do not seem to progress in a satisfactory
manner. One of the problems appears to be the inability to adhere to the
deadlines causing hardships for the public.
For example, there are several
road-widening projects going on now. In these projects, road construction is
done in a haphazard manner. While some stretches are almost completed, other
sections in between are almost impassable as the construction is going on in
near initial phase. At present, there are several telecommunication projects are
also in progress. This again makes it necessary to dig the roads, which are in
good condition. As the repairs to the roads are not completed in a proper
manner, motorists and pedestrians alike undergo difficulties. Situation becomes
worse during the rainy season. There seems to be little coordination between
authorities of road development and telecommunication which aggravates the
The above example shows the lack
of proper project planning and scheduling in these projects. Logical
organization of activities is an inherent property in algorithms and flowcharts.
Algorithmic approach of problem solving will naturally tend to cultivate
awareness of good project planning. Not only that, it will try to build
necessary skills for this exercise. Therefore, the algorithmic approach will
also contribute in improving the quality of output.
It has been found that
introducing algorithmic approach contributed to building up confidence among the
undergraduates to solve problems. An increasing number of undergraduates are
inquiring the possibility of taking up projects related to practical engineering
problems. Many of them were interested in the development of software too.
This attitude also could go a
long way to fill the gap between the theory and practice. In recent years, many
employers in Sri Lanka have shown concern regarding the existence of this gap
among new recruits, which they say, could affect their productivity and quality
of services. They seem to prefer engineering graduates which could be assigned
specific jobs with the minimum amount of training. Up to a certain extent, we
may have to accept the theoretical bias in our courses which contributes to the
existence of this gap. At the same time, the importance of theory has to be
appreciated for the building up of new and improved techniques in the
engineering practice. The algorithmic approach of problem solving seems to close
this gap to a considerable extent, without sacrificing the knowledge of the
It appears that the experience
gained by modifying the teaching approach of the linear algebra course for
engineering undergraduates will be useful in improving the other courses in
engineering mathematics too. The algorithmic approach for problem solving helps
to close the gap between the theory and practice. In addition, it will help
improving employment prospects for engineering graduates. Also, it will improve
the analytical thinking ability, which will contribute to building of successful
mathematical models for solving real problems.
Hadley, G., Linear Algebra,
Return to This Issues Home Page