0% found this document useful (0 votes)
46 views

Mathematics and Programming Problem Solving

This document describes a study on the relationship between mathematical problem solving skills and the ability to learn programming. The study worked with students who had failed an introductory programming course. Researchers evaluated the students' mathematics and logic knowledge, then provided a special course to improve their skills in these areas. During the semester, the researchers were able to identify common difficulties students had and relate them to limitations in programming. The goal was to see if enhancing mathematical problem solving abilities would positively impact the students' programming capacities.

Uploaded by

mswelimaria97
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views

Mathematics and Programming Problem Solving

This document describes a study on the relationship between mathematical problem solving skills and the ability to learn programming. The study worked with students who had failed an introductory programming course. Researchers evaluated the students' mathematics and logic knowledge, then provided a special course to improve their skills in these areas. During the semester, the researchers were able to identify common difficulties students had and relate them to limitations in programming. The goal was to see if enhancing mathematical problem solving abilities would positively impact the students' programming capacities.

Uploaded by

mswelimaria97
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/228411537

Mathematics and programming problem solving

Article · January 2006

CITATIONS READS
31 5,678

4 authors, including:

Anabela Gomes Emília Bigotte


Instituto Politécnico de Coimbra Instituto Politécnico de Coimbra
99 PUBLICATIONS 1,361 CITATIONS 77 PUBLICATIONS 224 CITATIONS

SEE PROFILE SEE PROFILE

Antonio Jose Mendes


University of Coimbra
150 PUBLICATIONS 2,056 CITATIONS

SEE PROFILE

All content following this page was uploaded by Anabela Gomes on 01 June 2014.

The user has requested enhancement of the downloaded file.


1

Mathematics and programming problem solving


Anabela Gomes Lilian Carmo
Polytechnic Institute of Coimbra University of Coimbra
Coimbra Superior Institute of Engineering Dep. Informatics Engineering
Dep. Informatics and Systems Engineering 3030-290 Coimbra - Portugal
3030-199 Coimbra - Portugal +351 239 790000
+351 239 790 350
[email protected]
[email protected]

Emília Bigotte António Mendes


Polytechnic Institute of Coimbra University of Coimbra
Coimbra Superior Institute of Engineering Dep. Informatics Engineering
Dep. Informatics and Systems Engineering 3030-290 Coimbra - Portugal
3030-199 Coimbra - Portugal +351 239 790000
+351 239 790 350
[email protected]
[email protected]
ABSTRACT
Programming is hard to learn to most novice students. Several
2. STANDARDS
In this experience we followed a set of standards prepared by a
reasons can be pointed out to this situation, going from the
workgroup of the Commission on Standards for School
inherent difficulties of the subject to the lack of mathematical
Mathematics from National Council of Teachers of Mathematics
problem solving competences that students should have acquired
[3]. This document defines the standards that indicate the abilities
before. This later factor is, in our view, extremely important and
that mathematics teaching should promote at different levels of
explains many student difficulties.
education. These levels are divided in three groups, primary
In this paper we present some experiences carried out during the education, 5th to 8th grades and 9th to12th grades. After
second semester of 2005/2006, where we tried to explore the analysing the exercises proposed and the abilities defined for each
relationships between mathematical problem solving competences level, we decided to concentrate our experience in some standards
and the lack of programming abilities shown by a group of concerning the level between the 5th and the 8th grades. This
students who failed their initial programming course. decision was made based on our experience that this type of
problems usually is used in introductory programming courses
and also because many of our students show difficulties to solve
Keywords
them.
Mathematical skills, programming competences, problem solving
In this section we will describe the mathematical standards that in
our opinion may have a stronger influence in programming
abilities and that were used in our experience.
1. INTRODUCTION
Programming learning is well-known as a difficult task to many
students. Several authors have discussed possible causes for this
2.1 Mathematics as problem solving
In this experience our interest was to verify if the students have
problem [1], [2] but we think that a main factor is the lack of
the necessary mathematical concepts to solve some types of
problem solving abilities that many students show, namely those
problems. We wanted to know if they can apply strategies and
that involve mathematical and logical knowledge. To verify this
mathematical concepts to solve a wide variety of everyday
assumption we made some experiences, trying to determine how
problems, with special interest in those with a programming
the development of mathematical and logical problem solving
solution. In addition, we wanted to find out if they can generalize
abilities would impact programming capacity. In a first phase we
solutions and strategies in order to use them in new situations.
decided to evaluate mathematics and logic knowledge of a group
During the experiences this standard was object of intensive
of students who failed to get approved in the first programming
training, hoping that students would acquire a certain mental
course (first semester 2005/2006). Then, during the second
experience, using problem-solving approaches to develop
semester, these students followed a special course on mathematics
reasoning and training a variety of abilities, such as exclusion of
and logic problem solving, in order to improve their skills in this
parts, logic of the proposals, among others.
field and see if this improves their basic programming
competences. Although we still don’t have final results, during
the semester it was possible to identify many students’ main 2.2 Mathematics as means of communication
difficulties and relate them with their programming limitations. In This standard indicates that the Mathematics curriculum should
this paper we describe our experience and focus on those allow students to exercise communication skills, because in that
preliminary conclusions. way, they hopefully will acquire the capacity to interpret and to

3rd E-Learning Conference Coimbra, Portugal, 7 – 8 September 2006


2

evaluate mathematical ideas. It is very important to give students cubes, palindromes, factorials, Fibonacci numbers, maximum and
opportunities to reflect on and clarify their thinking about minimum common divider of two numbers, among others.
mathematical ideas. One of the obstacles they frequently cope
with in solving a programming problem lies in transforming a
2.7 Calculation and estimation
textual solution into mathematical language. As the experiences
Our main interest in this area was that the students could use
went on this standard was applied in an intensive way, because
estimation techniques in calculations and ratios, not especially to
we consider that the capacity to read, write, listen, discuss and
solve problems, but mainly to evaluate results. The evaluation and
interpret mathematics is a vital part of programming learning.
analysis of wrong results can constitute meaningful learning
opportunities in programming. So it is important that students can
2.3 Mathematics as means of reasoning be aware of them as soon as possible. While students try to
In successive sessions we presented to students different types of describe what they are doing and verify their answers, they are
logical problems which would train their abilities in inductive and simultaneously using conjectures to formulate new problems and
deductive reasoning. To help them we used a large amount of planning new strategies to answer them.
models, known facts, properties and relationships. The presented
exercises didn’t always have a direct translation in programming
2.8 Patterns and functions
terms, but they included fundamental aspects and concepts to
An important aspect of this standard deals with the capacity to
develop programming skills. Another aspect of this standard,
represent a real problem expressing its solution using a function.
considered to be a powerful strategy in problem solving, consisted
This is very important to develop abstraction skills and
on the identification of patterns and relationships to analyze
programming competences. Two types of important programming
mathematical solutions and certain types of regularities which is
problems can be connected with these competences. The first
the basic characteristic of inductive reasoning. The pupils were
deals with the concept of variable. The second concerns the
encouraged to validate their assumptions through the construction
capacity to observe simple situations and recognize that they can
of arguments that justify them, as well as carrying through
lead to a general method which can be applied to a variety of
generalizations or applications to new problems.
situations.

2.4 Mathematical connections 2.9 Algebra


This standard was extensively explored during the experiences.
One aspect of this standard with implications in programming is
We made a constant effort to make students establish connections
the limited understanding that many students have about
between concrete situations in their daily lives and mathematics
variables, expressions and equations. Sometimes, in programming
as well as programming. We consider it is very important that
learning the variable concept is the first problem students have to
students can recognize relationships among different topics in
face. For example, many students associate a numerical value to a
various domains, especially in mathematics and programming. As
letter (variable name) since the beginning, some ignore the letter,
the sessions went on, we tried to point out analogies
and others still deal with the letter as if it was a name of an object
demonstrating the relations between certain concepts and to link
(for example, y means youngster instead of number of youngsters
conceptual and procedural knowledge.
[4]). Another aspect regards to the definition of expressions and
equations used in the construction of cycles. During the sessions
2.5 Numbers and relations between numbers this standard was intensely used in the exercises presented to the
Although there are different but equivalent numerical students because we considered essential to dominate these
representations to characterize the same amount (for example, real concepts to algorithm understanding and development.
numbers, fractions, decimals, percentages, powers, scientific
notation, and so on), this standard intends to demonstrate that it is
2.10 Geometry
very important to develop a deeper understanding of various
We believe that the capacities involved in this standard are
numerical representations and to recognize that in some situations
important to the development of programming capacities.
there are representations that are more suitable than others. We
Directly, because there are numerous programming problems that
think that this standard is not very important if the objective is to
imply that the students know how to identify, describe, compare,
improve programming skills. However, we included it in some
and classify geometric figures. Also there are other problems that
exercises to show that there are different forms to represent the
can only be solved through the application of geometric models.
same thing, but that in some situations some of them make more
Indirectly, for the inherent abstraction capacities that geometry
sense than others.
helps to develop. That’s why several geometric problems were
presented to the students during our research.
2.6 Numerical systems and number theory
“Statistics”, “Probabilities” and “Measure” which also belong to
The number theory offers many possibilities for interesting
the standards have not been described here, because they were not
explorations that may have positive results to student’s problem
used during the experience. Although the capacities they develop
solving capacity and to the understanding and development of
are important, we considered that the described standards were
other mathematical concepts. Thus, many of the exercises we
enough to our experience goals.
used in our experience had to do with number theory, with
frequent applications in programming, such as abundant numbers,
deficient numbers, perfect numbers, triangular numbers, squares,

3rd E-Learning Conference Coimbra, Portugal, 7 – 8 September 2006


3

3. EXPERIENCE verified that most students, who got a correct answer,


Our experience was conducted during the second semester of the came up on it through literal or graphical descriptions.
2005/2006 academic year. It included several sessions, alternating The exception was a reduced number of students who
sessions where the students were asked to solve mathematical presented the solution using a function. However, when
exercises, logical challenges and problem solving in diverse sometime later they were asked to solve the same
domains, focusing especially in those with a closer relation with problem using a formula, the majority was unable to
programming. In the next session Mathematics and Computer reach the right answer. Thus, the difficulties in some
Science teachers corrected and explained previous session programming problems can be associated with the
problems, as well as introduced basic mathematical concepts difficulty to obtain a formula to solve the problem. That
when necessary. This experience involved a group of 33 is to transform the problem mathematically or to go
Informatics students from the Superior Institute of Engineering of from a concrete to a more abstract and generic level.
the Polytechnic Institute of Coimbra who volunteered to ƒ Students don’t recognize geometric figures - It was
participate. The involved students had failed the course of verified that many students don’t recognize geometric
Algorithms and Programming in the first semester of 2005/2006 figures or at least they do not have a clear
academic year. They all presented severe difficulties in basic comprehension about their definitions and associated
programming. concepts. This difficults the resolution of many
The set of selected exercises was chosen taking in consideration programming problems based on that knowledge. In the
the results of two diagnosis tests made in the experience first initial phase of the experiences we proposed the
sessions. One of them focused on programming competences following problem: "Make a program that given 2
while the other looked for students’ mathematical concepts, values that represent the length of two adjacent sides of
especially those more connected with programming. As expected, a 4 side polygon and the value in degrees of the angle
these tests generally showed very low programming skills, but formed by them, indicate the type of polygon. It is
also many students did not show basic mathematical skills that known that the polygon has two pairs of equal sides and
should be expected when entering higher education. also two pairs of equal angles". The majority of students
were unable to solve it. In a later session, the same
exercise was proposed to them, but this time we
4. RESULTS ANALYSIS previously presented them the necessary geometric
The experience available partial results are presented in this concepts. So we had explained them what a polygon, a
section. When possible we give examples of problems that were parallelogram, a square, a rectangle and a rhomb are.
used to test and develop student’s problem solving skills. The This time many more students were able to solve this
results show that the students have many limitations, namely: problem;
ƒ Students do not have enough basic mathematical ƒ Students have difficulties to understand the problem
concepts concerning the number theory - We think that description - We think that many times students fail to
students aren’t able to solve many of the programming solve a problem simply because they don’t understand it
exercises, because they do not know basic mathematical clearly. Although the exercises had been written in a
concepts. Consequently there is a group of common clear and simple way, students frequently showed
programming exercises (for example, prime numbers, doubts in their interpretations. During the sessions, they
dividing and multiple numbers) that they can’t solve. To kept wondering what they had been asked to do. From
confirm this assumption and before going into time to time, the teachers asked students to read the
programming exercises that included that type of problem calmly and aloud. We confirmed that they did
concepts (for instance a number divider), they were not know how to read correctly, therefore they made
asked the following question "Given the following pauses or omitted them in incorrect places, altering
numbers 1, 2, 3, 4, 8, 11, 12, 20, 32, 44, 66, 70, 88 completely the meaning of the text. But when the
indicate the dividers of 22". We verified that many teacher read it aloud, students said that they had
students confused the concepts of divider and multiple understood it, without having been given any additional
of a number. A reduced number did not answer at all, explanation. Other times pupils claimed that they did
and when asked why sometime later, they said that they not know where to initiate the resolution process,
did not have any idea whatsoever about this concept. because they didn’t understand clearly what they were
ƒ Students have difficulties to transform a textual problem asked to do. However, when we presented them an
into a mathematical formula that solves it - In some equivalent problem but divided in successive stages,
exercises students had to do calculations. If the involved many of them could solve it. For example, in the
quantities were easily calculated (for example by specific case of programming problems these stages
"counting with the fingers" or through a simple mental included the main solution components, such as input
operation) most of them obtained a correct answer. The data, expected results, necessary auxiliary variables and
following problem presented in one session can be initialization values (if required). In this case, when we
mentioned in this context. “A man is on a step in the asked students for a textual description or a graphical
stairs. He goes up 5 steps, then he goes down 7, then he illustration of the general process, the majority could, at
climbs again 4 steps and later another 9 to arrive on the least, understand what was asked for. So we think that a
last one. How many steps are there altogether?" We subdivision of the resolution in different steps could
help students to understand the problem in the initial

3rd E-Learning Conference Coimbra, Portugal, 7 – 8 September 2006


4

learning stages. However we verified that when the


problems were presented in this way, the students didn’t
always realize that each stage is a component of the
whole solution and many can’t see the relation between
the different steps.
ƒ Students are unable to define comparison criteria - The
following question was asked to the students: "Assume
that there is a set of 4 square shaped boxes of different
Figure 1 – Figure given to the students
dimensions. Indicate the procedure to place them inside
each other". All the students were able to determine a ƒ Students have difficulty in calculus - We think that
procedure to solve this problem, but the majority some students don’t know how to program because the
referred to the boxes as the smaller box and the bigger types of exercises they work with imply calculation. It
box. They didn’t explain how they had come to the is necessary that they develop procedures to determinate
conclusion that a box was bigger or smaller than the certain amounts, in order to solve problems. The
other. When asked how they would know if a box was following is an example that confirms this difficulty.
bigger or smaller than the others, they answered that "The note delivery in an ATM (Automatic Teller
they would look at the boxes. However they were not Machine) can be programmed in different ways. One of
able to define a general criterion to reach to this them is giving the user the least possible number of
conclusion. Later, in another session, we asked them the notes. Describe the process to determine this number.
same question, but in the statement each box was Assume that the machine uses notes of 5, 10, 20 and 50
indicated to have the sides L1, L2, L3 and L4 and the euros and that the desired amount is a multiple of 5
following relation between them L1<L2<L3<L4. In this euros”. We confirmed that the students who succeed to
situation they were able to solve the problem correctly. solve the problem had done it by assuming concrete
amounts. They were unable to derive expressions for
ƒ Students were unable to guide themselves in the the calculation from these amounts, being given both a
Cartesian Plan, have lack of trigonometric concepts or general and an abstract value.
are unable to apply them to solve exercises - We think
that many times the students do not know how to solve ƒ Students have weak abstraction levels – We believe that
programming problems, because they can’t identify the some problems pointed out before in this text can also
geometric models that are necessary to solve them. In be related to the enormous difficulties students feel to
an initial session we asked students to solve the reach higher abstraction levels. In the experiences
following problem: "Describe the procedure to draw the carried through, we verified that when the students were
figure shown below (Figure 1). The centre of that figure put against similar problems they had different results
is in the point (100, 100) and the circumferences ray is depending whether the involved amounts were concrete
30". In this session, not a single student was able to or abstract. An example stating that problem: "Which
solve it, not even to propose a minimum sketch towards even number is bigger than 20, minor than 30 and the
the solution. However, in a later session the question sum of its digits is 8". As we supposed all students
was reformulated, and had some extra questions answered correctly with no difficulty. However, in a
inserted in the same group. The goal was to guide the later session they needed to answered the following
students to the correct solution by dividing the problem question: "Develop an algorithm that finds out the even
in successive stages. It was clear that many students number that meets the following criteria: it is bigger
didn’t understand some basic concepts of the Cartesian than a certain number named small and smaller than
Plan, were unable to locate the circumferences in some another number named big and the sum of its digits is
coordinates and had no knowledge of some basic sum." This reformulation could raise other problems
trigonometry concepts, such as sine and co-sine. related with programming, such as the process to
However, many others were familiar with these determine if a number is even or to calculate the sum of
concepts, but were not able to apply them to solve the the digits of a number. However, the key issue that the
problem. The same question was repeated in the final students struggled with had to do with the difficulty to
session on a programming test and this time the code understand what they were asked to do. They had
that implemented the figure was given to the students. difficulties to identify the necessary variables, they
Two questions were made; one asking them to indicate couldn’t see what to do and they couldn’t see that the
the value assumed for each variable in each cycle problem was similar to the previous one.
iteration and another asking them to indicate the final
ƒ Students have lack of logical reasoning – During the
result of the program. Surprisingly, there were only a
experiences, we launched some logical challenges and
few students that were able to answer correctly.
charades that involved diverse concepts, such as
exclusion of parts, logic of proposals, and discovery of
ambushes or wrong reasoning, among others, with the
sole purpose of training their logical reasoning. We
confirmed that initially the students had big difficulties
and the majority of them were unable to solve that kind

3rd E-Learning Conference Coimbra, Portugal, 7 – 8 September 2006


5

of problems. However, we observed that this difficulty Our research also includes a comparative study between the
was significantly reduced as they kept on solving that results the students obtained in the programming and
type of problems along the sessions. We considered that mathematical tests done in the beginning of the semester with
to be able to program the students should both apply the similar tests to be done after the semester ends. The idea was to
inductive and deductive reasoning, and validate their evaluate the impact the problem solving activities had on the
own thinking which should be trained in an intensive students’ abilities. Also, next academic year, when the students
manner. follow the initial programming course again, it will be possible to
study eventual improvements in these students programming
performance. Those will be the next steps of our work.
5. CONCLUSION AND FUTURE WORK
The experiences carried through during the second semester of
2005/2006 in the Superior Institute of Engineering of the 6. ACKNOWLEDGMENTS
Polytechnic of Coimbra were described in this paper. Throughout The authors would like to thank all students that participated in
the research the students belonging to the studied sample were the experience and especially to professor Francisco Pereira.
submitted to a series of problem solving exercises that were
directly or indirectly related to common beginners programming
7. REFERENCES
problems. The essential intention was to identify the students
[1] Gomes, A. and Mendes, A. J. A animação na aprendizagem
main gaps in mathematics and to analyse their influence on
de conceitos básicos de programação, Revista de Enseñanza
programming capacity. The analyses of the obtained results
y Tecnología, 13 (1999), 22-32.
indicate that the majority of the students don’t have basic
mathematical concepts, which reflects in their problem solving [2] Jenkins, T, On the difficulty of learning to program, In
ability and, therefore, in their low programming skills. With our Proceedings of the 3rd Annual LTSN- IC Conference (2002),
observations we could establish clearly that the lack of Loughborough University.
programming skills was accompanied by a deep lack of [3] Normas para a avaliação em matemática escolar. Associação
mathematical knowledge and skills and that the later many times de Professores de Matemática. (Out. de 1999).
was the main cause of the former. The capacity to program
consists of a hierarchy of multiple competences [4]. However we [4] Lister, R., Adams, E., Fitzgerald, S., Fone, W., Hamer, J.,
believe that many of them can be trained and improved, with Lindholm, M., McCartney, R., Moström, J., Sanders, K.,
persistence, determination and perseverance. Seppälä, O., Simon, B., Thomas, L. A Multi-National Study
of Reading and Tracing Skills in Novice Programmers,
SIGSCE Bulletin, 36, 4 (Dec. 2004), 119-150.

3rd E-Learning Conference Coimbra, Portugal, 7 – 8 September 2006

View publication stats

You might also like