Volume 4 No.1, Winter 2000

ISSN# 1523-9926


Importance of Algorithmic Approach for Engineering Mathematics Courses

Sarath B.Siyambalapitiya
Department of Engineering Mathematics
University of Peradeniya, Sri Lanka


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, Sri Lanka.



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. 



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. 



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.



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. 



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 [1]. 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. 



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 this approach.



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 [2]. 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.



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 own. 

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 discussed. 

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 problems. 

Some of the simple algorithms discussed during the course include:               

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.



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 situation. 

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 theory.  

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.    



  1. Hadley, G., Linear Algebra, Addison-Wesley, 1992.

  2. Haessler, R.W., “Controlling cutting pattern changes in one-dimensional trim problems”, Operations Research, Vol. 23, no. 3, pp. 483-493, May-June 1975.


Return to This Issues Home Page