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