Sunteți pe pagina 1din 6

Session T1G

IMPROVING MATHEMATICALLY ORIENTED PROGRAMMING SKILLS


IN COMPUTER SCIENCE STUDIES

Yifat Ben-David Kolikant 1 and Sara Pollack 2

Abstract  We describe an instructional approach to is the tendency and the ability to create solutions that can be
enhance mathematical orientation in programming skills executed on a digital computer. Knuth [9] claims that
among beginning Computer Science students. We were although mathematical thinking and algorithmic thinking
motivated by the belief that adequate mathematical overlap, mainly in the thinking processes and heuristics
education is a crucial component in a programmer’s (such as the representation of reality, abstract reasoning and
training, since mathematical skills are an indispensable reduction to simpler problems), CS professionals have a
component of proficient programmers’ knowledge. We use world view that is different from the traditional
elementary mathematics to anchor the new CS knowledge mathematicians. The differences are reflected in unique CS
and skills, by engaging the students in solving authentic concepts, such as complexity, state of a process, and the
mathematically oriented problems, whose solutions require assignment instruction, as well as in the disposition of CS
mathematical inquiry, as well as mathematically oriented people to deal with a multitude of quite different cases than
programming skills. Solving problems of this type do traditional mathematicians. Finally, Hartmanis [3] states
continuously throughout CS studies enables the students to that one of the characteristics by which CS can be
grasp the CS professional work, and in particular the role of distinguished is the immense difference in scale of the
mathematics in the work of proficient programmers. We phenomena CS deals with, which requires CS professionals
describe three examples of problems, for which we analyze to develop many levels of abstraction to see things “in the
the advantage of using mathematics and recommend on large” and “in the small” simultaneously.
pedagogical activity accordingly. We also exemplify and Hoare [5], as well as many other CS scholars [7] claims
analyze the implementation of our approach in class. that mathematics is indispensable to CS knowledge.
Furthermore, Hoare perceives programs as mathematical
Index Terms  mathematically oriented programming expressions, programming languages as mathematical
skills, problem solving, professional point of view, theories, and programming as mathematical activity. In fact,
instructional approach. he views programmers as engineers that have to put
mathematics into practice. However, Hoare is concerned by
INTRODUCTION what he calls “ignorance of mathematics” among CS
graduates. He stresses that the students might have studied
Becoming competent in any complex subject domain is “as mathematics, but are not capable of taking advantage of their
much a matter of acquiring the habits and dispositions of mathematical skills to define a programming problem and to
interpretation and sense making as of acquiring any search for its solution. The dissatisfaction with CS graduates
particular set of skills, strategies, or knowledge” [11, p. 58]. mathematical background has been discussed in recent years
Accordingly, becoming a CS professional requires more too [4,7,8]. For example [8] claim that the mathematical
than merely mastering the syntax of different programming nature of CS is not evident in introductory, and therefore
languages and being familiar with theoretical issues such as many CS students acquire inadequate methods, such as
computational models and complexity, but rather, superficial trial and error.
developing a unique point of view and work habits CS
professionals posses. Point of view means valuing the PREVIOUS WORK
processes professionals carry out during their work and
having a predilection to apply them [12]. Much work has been invested in exploring and defining the
Many remarkable CS scholars gave their opinion about desired mathematical education for CS studies [4,7], such as
the characteristics of the discipline of CS and of CS defining the topics in mathematics that CS students should
professional interests, activities, and dispositions, namely study [6], and the optimal instructional approaches. Both of
their point of view. For example, Hoare [5] explains that the the two following instructional approaches were designed to
essence of the differences between CS and other professions illustrate the importance of mathematics in CS. Ginat [2]

1
Yifat ben-David Kolikant, The Weizmann Institute of Science, Department of Science Teaching, Rehovot, ISRAEL 76100, ntifat@wis.weizmann.ac.il
2
Sarah Pollack, The Weizmann Institute of Science, Department of Science Teaching, Rehovot, ISRAEL 76100, ntsara@wis.weizmann.ac.il

0-7803-7444-4/02/$17.00 © 2002 IEEE November 6 - 9, 2002, Boston, MA 3


32 n d ASEE/IEEE Frontiers in Education Conference
T1G-3
Session T1G

suggests an instructional approach, whose goal is to the mathematics that can be used to facilitate the solution
demonstrate the significance of exploration of regularities to process, according to its three roles.
CS1 students, based on engaging them in solving colorful
The ATM Problem
problems, whose solutions require a wide range of CS tasks.
Manacero and Marranghello [10] suggest an ‘application to An ATM machine has $20 bills and $50 bills. A client types
model approach’ that demonstrates the relevance of the requested amount (multiple of 10). The ATM calculates
mathematics to CS studies, by analyzing several interesting the minimum amount of bills that make up the amount. You
applications from the aspect of the underlying mathematics have to develop an algorithm/program for this ATM.
in an informal way and referring the students to the relevant
math courses. This is an authentic problem whose goals should be
clear to the students. In addition, the mathematics and CS
OUR APPROACH knowledge needed is very basic; therefore, introductory
students can be engaged in solving this problem and are
We believe that CS students should develop their
most likely to benefit from this experience.
professional point of view, in particular the predilection to
The analysis of the problem should cause the student to
use mathematical knowledge and tools gradually during their
(a) recognize that generally, it is better to give as much $50
studies, beginning in the very first course. This knowledge
bills as possible, and the rest in $20 bills, and then to (b)
should grow as an integral part of the process of acquiring
classify different general cases of money amounts and to
adequate work habits. In order to achieve this goal, the
generate a rule for the combination of bills for each case,
students should be explicitly taught how to take advantage of
including the amounts that have no combinations.
their mathematical knowledge during their work, namely to
The activity we suggest is to pose a similar problem of
use mathematically oriented programming skills (MOPS).
building a mathematical function for finding (m, n) as a
Our approach is motivated by the theoretical viewpoint
function of X, such that X = 50m+20n, and m+n are the
of constructivism that stresses the importance of the
minimum of any possible pairs (Table I). The input and the
continuity of knowledge growth, based on the existing
output of the algorithmic problem are the function domain
knowledge [13]. From that viewpoint, elementary
and range, respectively. Representing X as a quotient and a
mathematics can be used to anchor new knowledge in CS,
remainder of division by 50 and by 20 enables classifying
since it is a knowledge base that all the students have and
the input into categories, while composing X as 50m+20n
mathematics and algorithmics overlap in many areas [9].
enables finding the matching bills’ combination.
However, teaching mathematics separately from CS will
most likely not fruitful, since students construct their
TABLE I
knowledge upon judgment of productivity, and will not THE MATHETICAL REPRE SENTATION OF A COMBINATION OF BILLS
make connections between mathematical knowledge and CS X (amount) Numbers of bills
knowledge unless they will find it necessary. x =10 or x = 30 No solution
Therefore, we suggest an instructional approach in x | (x mod 50) mod 20 = 0 no. of 50 = x div 50
no. of 20 = (x mod 50) div 20
which the students are engaged in solving problems that
x | x > 30 and (x mod 50) mod 20 no. of 50 = x div 50 – 1
concern typical mathematically oriented CS topics and >0 no. of 20 = ((x mod 50) + 50) div 20
skills. The problems do not necessarily have to be complex
but they should be authentic problems and most importantly, During the problem-solving process (of any complicated
their solutions should require mathematical thinking and an problem) the student should examine possible solutions
appropriate problem-solving method. according to two leading questions: Is all the input covered?
There are three aspects of mathematics that our Did I generalize the cases correctly? Similarly when
approach takes into account: (a) a knowledge domain of building a mathematical function one has to ensure that
problems – the understanding and solving of many problems every item in the function domain has a matched item in the
require an adequate background in mathematical concepts range, and that the matching rules are correct. The analogy
and procedures, (b) tools and skills that facilitate the process between the mathematical problem and the algorithmic
of solution – these tools can be provided to the student when problem might encourage the students to raise these
viewing a problem from a mathematical perspective, and (c) questions and to extend the tools studied in mathematics to
an anchor to concepts in CS whose association to answer them. In addition, it can assist the students in the
mathematics can contribute to the clarification of their correctness verification of the program, by simply picking
meaning. one numerical example as a representative of each class of
In the rest of this section we demonstrate our approach the mathematical function domain (input). Finally, it can be
with three examples; for each of these we describe the useful in developing an efficient algorithm, as when a
pedagogical activity suggested resulting from an analysis we student deals separately with the case that the amount is a
made of the required CS concepts and procedures, as well as multiple of 50, and the case in which what left after

0-7803-7444-4/02/$17.00 © 2002 IEEE November 6 - 9, 2002, Boston, MA 4


32 n d ASEE/IEEE Frontiers in Education Conference
T1G-4
Session T1G

subtracting the biggest multiple of 50 is divided by 20 another, and to evaluate the information available in each,
without a remainder, which can be unified into one class. and (b) to strive to unify the myriad rules for generating
The analogy to mathematical functions can also help to digits into a general rule.
clarify the meaning of the concept of representative In order to obtain the general rule of multiplication, the
examples, which is fundamental to CS, since the process of student must go beyond the perception of the result number
categorization of the input (domain) into subgroups as a set of digits, each of which is obtained differently, [ac,
according to the treatment (match) was demonstrated and ad+bc, bd], as implied by the graphical representation, and
therefore the notion of picking one representor of each group should strive to find the similarity. The polynomial
is clearer. representation might be the key to recognize another actor in
the scene- the position of digit in the number (or the
The “Vertically and Cross-wise” Sutra
exponent of ten), and to realize that every digit Z, in position
Develop and implement an algorithm that multiplies any two k of the result number, is calculated by summing the
natural numbers X and Y, which is an extension of the given multiplications of pairs of digits Xi and Yj, whose positions i
cases of two-digit and three-digit numbers. and j are summed up to k, as in (2). The number of digits in
the result is the sum of the lengths of the two numbers, X
The ancient Vedic mathematical sutra (rule) Urdhva- and Y.
Tiryagbhyam (meaning, vertically and cross-wise) is a
method of multiplication of two numbers, which is different Zk = ∑Xi *Yj i+j = k (2)
from the traditional western method [1]. The multiplication
of two-digit numbers is graphically represented in Figure 1a. This activity might drive the students to appreciate the
The left digit and the right digit of the result are obtained by diversity of representations and to refine their ability of
multiplying the left digits and right digits of the numbers, judgmental choosing and converting representations. This is
respectively (the vertical lines), whereas the middle digit is not a pure mathematical activity, but rather a CS task that
obtained by summing the multiplication of the left digit of requires the use of mathematics. Mathematicians naturally
each number with the right digit of the other (the cross-wise do not have to implement the solution on a digital computer.
lines). Next, the carry over if exists, should be taken care of. Therefore they might be satisfied with recognizing the
For example 12×32⇒ [1×3, 2×3+1×2, 2×2] ⇒384, and polynomial representation as a possible procedure for digit-
48×79 ⇒[4×7, 8×7+4×9, 8×9] ⇒[28, 92, 72] ⇒ 3792. calculation and would not bother to formulate the rule in (2),
unless a complete proof is needed for other reasons. In
a b a b c contrast, CS people must build a program and therefore
would strive to find the regularity [5,9].
After establishing the algorithm, the students have to
d e f consider how to implement this algorithm on a computer,
c d
and in particular how to represent the numbers. They should
ab | ad+bd | bd ad| ae+bd| qf+be+cd |bf+ce| cf
evaluate different possible representations, such as integers,
FIGURE 1 real, arrays, strings, and lists, according to the limitations
THE VEDIC MULTIPLICA TION OF ( A ) TWO- DIGIT AND ( B) THREE- DIGIT and advantages each representation has.
NUMBERS Thus, solving this problem can contribute to clarifying
the concept of representation of numbers in mathematics and
The correctness of this method is clear from the
in CS. In addition, it might demonstrate the practical
polynomial representation of the numbers where x=10, as
importance of mathematical correctness proofs.
demonstrated in (1) for the case of two-digit numbers.
The Difference of Two Squares
(ax +b)*(cx+d) = acx 2 + (ad+bc)x +bd (1)
(i) Develop an algorithm, that for a given natural X, finds A
and B, (integers or fractions) such that X = A2 – B2 , (ii) find
The students are presented with the two-digit and three-
5 pairs of A and B, and (iii) how many pairs of A and B exist
digit rules of multiplying, as well as the correctness proof of
for each X?
these rules and are asked to develop an algorithm that
generalizes the method presented and multiplies any two
This problem is also based on a Vedic Mathematical
natural numbers.
method. One solution of the problem is described in (3).
The knowledge domain required is the multiplication of
Using the familiar equation A2 – B2 = (A-B)(A+B), looking
two numbers, the principles of the decimal representation of
for any two numbers m and n whose multiplication is X,
numbers, polynoms, and in particular, multiplication of
equating m to A+B, n to A-B, and solving this two-equation
polynoms. Two major skills are required in order to solve
system to eliminate A and B. We can choose any divisors of
this problem: (a) the ability to examine various
X, such as 1 and X to compute A and B. Thus, the
representations, to convert from one representation to

0-7803-7444-4/02/$17.00 © 2002 IEEE November 6 - 9, 2002, Boston, MA 5


32 n d ASEE/IEEE Frontiers in Education Conference
T1G-5
Session T1G

complexity of the algorithms for part (i) and (ii) is O(1), ANALYSIS
whereas the answer to part (iii) is infinite.
The Analysis of Students’ Solutions
X = A2 – B2 = (A-B)(A+B) = m*n (3)
A+B=m We gave each solution a score: the score 3 was given to
A–B=n correct algorithms, the score 2 was given to partial
A = (m+n) /2 algorithms that incorrectly handled the cases in which X
B = (m-n) /2 mod 50 mod 20>0 but handled the other cases correctly, and
the score 1 was given to totally unreasonable algorithms.
During the solution process the students have to The analysis of students’ solutions is summarized in Table
mathematically investigate the problem. They have to build II. The two left most columns of Table II describe the
two representations of X and to examine the connections quality of the solutions, whereas the third and fourth
between them, and should be aware of the fact that they can columns present the distribution of the solution types among
choose m or n, and use it to solve the problem. the students in the pilot and in the second operations,
We recommend using this problem to demonstrate the respectively. We classified the students’ programs into three
importance of mathematical inquiry and its significant groups according to their closeness to a correct solution.
contribution to the efficiency of the solution. The students’ performances in the pilot operation were
We gave this problem to four CS graduate students. All disappointing, since we expected CS2 students to solve this
of them used matching or searching loops, relying on the type of questions smoothly. However, only 30% of the
computer‘s computational power, to solve the problem. students solved the problem correctly. Eight students (47%)
However, all of these solutions failed to accomplish the gave partial solutions, and four students (23%) gave
problem goals. Three students solved the problem by two incorrect solutions. In the second operation, 50% of the
nested loops that check if nominated A and B fulfill the students gave correct solutions, whereas four (25%) gave
desired equation (O(n 2 )). Their solutions either were partial algorithms, and another four students (25%) gave
restricted to integer As and Bs, or jumped in small incorrect solutions. The means of the scores of the second
magnitudes, say 0.01. The fourth student built a loop that group is 2.25, which is slightly better than the pilot group,
jumps on different values of A and calculates B, but does not 2.06. However, the difference between the groups is
check if B is rational or not (O(n)). We then directed the statistically insignificant, both by T-test and by Wilcoxon
students to represent A and B with m and n, as in (3). This test.
hint helped them track the more efficient solution and to re- The most common strategy was to take the maximum
solve the problem. $50 bills and then to take the maximum $20 bills of what
was left. If there was still a remainder, the partial algorithms
IMPLEMENTATION either declared the initial amount as impossible to be
obtained as a combination of 20 and 50 (type a), rounded the
We engaged two groups of students in an in -class activity amount (type b), or simply ignored this fact (type c). A
that included solving the ATM problem. The pilot operation correct treatment for this case was by taking one $50 bill,
was conducted in a CS2 class of 17 students, in order to adding it to the remainder and dividing the total by 20.
examine the common approaches and solutions among the
students who learn in the traditional way. It was composed TABLE II
of two parts: (a) first, the students were asked to solve the ANALYSIS OF THE STUDENTS’ SOLUTIONS
problem individually, and then (b) we conducted a Score Degree of closeness First Second
conversation in order to gain information on the solution operation operation
3 Correct 5 ( 30%) 8 ( 50%)
process. The second operation was conducted in CS1 class,
2 Partial a) Declare as 3 ( 18%) 1 ( 6%)
on 16 students. This time, we focused on making the unsolvable
solution process and the required skills more explicit, as well b) Round the amount 3 ( 18%) 0
as demonstrating the advantages of mathematics in the c) Ignore (round) 2 ( 11%) 3 ( 19%)
solution process. We divided it into three parts: (a) a 1 Incorrect 4 ( 23%) 4 ( 25%)
conversation in which we presented the problem and Total 17(100%) 16(100%)
discussed the inquiry and the plan for solution, (b) individual
work of writing the program and verifying correctness, and
finally, (c) a conversation about the practical verification The Conversation in the Pilot Operation
techniques. Both of the operations were documented, and the
students’ solutions were collected and analyzed. In responding to the question: describe the algorithm and
explain how you knew it was correct? S1 (who wrote a
correct solution) described a process of gradual refinement
of his algorithm based on the results of simulating the

0-7803-7444-4/02/$17.00 © 2002 IEEE November 6 - 9, 2002, Boston, MA 6


32 n d ASEE/IEEE Frontiers in Education Conference
T1G-6
Session T1G

numerical examples he chose: “At the beginning I did not most common strategy among the students in the pilot
think of it, but then I tried my algorithm with 210 and operation. Another student claimed: “It doesn’t work for all
noticed that it did not work correctly, so I figured a way to the cases”. This remark led the class to examine many
handle it. Then I tried it with 230, I tried more examples numbers suggested by the students. Shortly, they realized
only to realize that these are all the cases”. Another student, that 10 and 30 are unsolvable. Then some of them attempted
S7, described his two (correct) algorithms clearly, but when to gather numbers into groups, mostly without mathematical
asked, could not explain how he knew that they were reasoning, such as “any amount which is greater than 40 is
correct: “It works, I know that”. solvable”.
The next question we posed was: if, when, and how did This was the opportunity we were waiting for. We first
you use numerical examples during the process of solution? made the activity more explicit:
Seven students stated that they did not use any numerical Teacher: What are we doing now?
example before solving the problem, mostly because they J5: We are trying to find regularity in the input.
already had a plan for a solution, and because the problem J6: We are categorizing.
seemed uncomplicated. For example, S4 (who gave partial We then suggested organizing the knowledge obtained
solution of type a) explained that: “ I knew what I needed to from the inquiry similarly to the presentation of a
do”. Furthermore, most of those who used numerical mathematical function.
examples did not categorize the input, but rather, chose Teacher: What are the categories that we have found so
numbers arbitrarily and checked them out, such as S2, S3 far? Let’s organize them in a table. {Drawing a table,
(who gave a partial solution of type c, and an incorrect like Table I and fills according to the rest of the
solution, respectively), and S4, who are quoted here: discussion}. The left column is the input categories.
S2: I used numerical examples after I wrote the What should be in the right column?
program to verify its correctness. J3: The combination of bills.
Teacher: how did you choose the numbers? What was The students then naturally looked for categories to fill
your plan? in the table:
S2: I chose them arbitrarily. I just picked up numbers. J7: There are the unsolvable amounts…
Teacher: Is there anyone who chose the example Teacher: Which are?
according to a certain plan? J7: 10 and 30.
S3: I did so; it is just that I did not think of the cases I J6: There is the category of those numbers that the
should have thought of. It did pop into my mind. remainder of the division by 50 divides by 20 without
We then elicited a general heuristic of correctness any remainder, and the case in which the remainder is
verification: not divided by 20.
Teacher: I am asking myself if it is a matter of luck, the J6: There are no more possible cases since the
fact that some of you did notice all the cases and some remainder from 50 is 0, 10, 20 30 or 40 and we
of you did not”. considered all the cases.
S4: If you work thoroughly, you will try more examples After the students solved the problem we continued the
to check your program and see if it works. conversation and asked: how did you know your program
Teacher: Can you be sure that the program is correct? was correct? Student J8 (who gave a correct algorithm)
S4: The chances to succeed are higher, this way. reported that he checked his algorithm for the inputs 110,
S4 declared working thoroughly as checking more 120, and 130, and that he chose these numbers because they
numb ers. He and other students talked about luck and were representative. We used J8’s answer to clarify the
chances, and not about any deeper analysis. Only one concept of a representative example and to provide the
student, S5, (who gave a correct solution) claimed that students with a practical tip. We therefore asked J8 to
verification must rely on a systematical analysis: explain why and how he decided that these numbers were
S5: It won’t work if you just check some numbers. You representative. J8 then matched between each number and
have to find the general cases for your program. In this the relevant case. Several students pointed out that the
case the remainder from dividing the amount by 50 must unsolvable numbers did not have a representor, and that 110
be either 0, 10, 20, 30 or 40. Now 20 and 40 are of the and 130 are two representors of a single case (of the third
same case because both can be divided by 20, and the row in table I). We then defined a general practical
cases of 10 and 30 should be looked over, so you take procedure:
the numbers 60 and 80. J9 {who gave correct algorithm}: Once you have
classified the input into categories, you simply pick up
one number from each class and execute the program
The Conversation in the Second Implementation
with it.
The conversation of the second operation started in the same
spirit. Immediately after we asked for a plan, one student
suggested taking the maximum $50 bills, which was the
0-7803-7444-4/02/$17.00 © 2002 IEEE November 6 - 9, 2002, Boston, MA 7
32 n d ASEE/IEEE Frontiers in Education Conference
T1G-7
Session T1G

and its advantages without unnecessary difficulties.


DISCUSSION However, the skill of acquiring new concepts in mathematics
when needed to solve a problem should also be taught
Most of the students in the pilot operation did not classify explicitly in the same approach we describe here.
the input into categories according to the algorithm, and
instead were satisfied with merely checking arbitrary CONCLUSION
numbers. Furthermore, many of them decisively avoided any
mathematical inquiry of the problem beyond the initial plan We used relatively simple problems to expose the students
This performance reflects that the students’ common of introductory course in CS to the role of mathematics in
strategy was superficial trial and error, which was used both CS, and to enable them to develop MOPS. Our approach
to create the solution and to verify its correctness. The motivates the students to use familiar mathematical
students explicitly talked about luck and chances, and knowledge to solve CS problems. We believe that solving
reflected poor ability to reason the correctness of the problems of this type continuously, throughout the CS
program, which implies on inadequate work habits. studies will enable the students to appreciate the strength of
The discussion in the second group started in a similar mathematics and therefore to develop a mathematically
strategy, since the students’ first tendency was to examine oriented CS-point of view.
many numbers without any systematical plan. However,
after the students were introduced to the representation of REFERENCES
the knowledge domain of the problem as a mathematical [1] Agrawala, V.S., Vedic Mathematics, Delhi: Motilal Banarsidass, 1971.
function, they naturally took advantage of this representation
and used it as a tool to reason and verify the correctness of [2] Ginat, D., “Colorful examples for elaborating exlpration of
regularities in high school CS1”, Proceedings of the Fifth
their solution, meaning they used MOPS in the solution SIGCSE/SIGCUE Conference on Innovation and Technology in
process. Computer Science Education. Helsinki, Finland, 2000, 81-84.
We also took advantage of the equivalence, by using it
[3] Hartmanis, J., “Turing award lecture: On the computational
to refine the concept of representative examples of input and complexity and the nature of computer science”, Communication of
to provide the students with a practical procedure for the ACM, 37,10,1994, 37-43.
choosing representative examples. Thus, this activity [4] Henderson,P., B., Baldwin, D. et al, “striving for mathematical
exemplifies the applicability of using mathematics to anchor thinking”, ACM SIGCSE Bulletin Inroads, December 2001, 33(4), pp
concepts in CS. 114-124.
The insignificant differences between the programs’ [5] Hoare, C. A. R. & Jones, C.B, Essays in Computing Science, Prantice
quality of the two groups is not surprising. First of all, we Hall International, 1989.
must take into account that the students of the pilot group are [6] Hurley, T., C., “Benefits and Advantages of an Integrated
more experienced in solving problems than the students of Mathematics and Computer Science degree”,
the second group. More importantly, this performance http://tedser.ucg.ie/deptinfo/degr ee/benefits.html.
should be viewed as a result of a single shot in the direction [7] Integrating Mathematical Reasoning into Computer Science Curricula,
of fostering the use of MOPS and of developing a more http://brastias.cs.geneseo.edu/~baldwin/math-thinking.
meticulous process of problem solving. In that view, the
[8] Kelemen, C., F., Tucker, A., Henderson, P., Bruce, K. & Astrachan,
conversations in the second operation reflect an O., “Has our curriculum become math phobic?”, Proceedings of the
improvement in the work habits and the dispositions from Fifth SIGCSE/SIGCUE Conference on Innovation and Technology in
superficial trial and error in the direction of systematical Computer Science Education. Helsinki, Finland, 2000, 132-135.
planning and reasoning [5,7]. Naturally, it is not enough to [9] Knuth, D.E., “Algorithmic thinking and mathematical thinking”,
use one example to convince the students to develop MOPS, American Mathematical Monthly, 92, 3,1985, pp. 170-181.
but rather, this problem should be included in a sequence of [10] Manacero, A. & Marranghello, N., “Turning math attractive to
gradually more difficult problems during the first course and computer science students: An application-to-model approach”,
continuously throughout the CS studies. Each problem Proceedings of the 1999 Frontiers in Education Conference,
should be designed to enable the student to refine and extend November, 1999, San Juan, Puerto Rico.
the knowledge and skills achieved by solving the previous [11] Resnick, L.B., “Treating mat hematics as an ill-structured discipline”,
problems. We therefore also recommend evaluating and in R.I. Charles & E.A. Silver (Eds.), The Teaching and Assessing of
Mathematical Problem Solving, Hillsdale, NJ: Lawrence Erlbaum
designing each problem not only from the aspect of the CS Associates, 1988, pp 32-60.
concepts and procedures, but also from the aspect of
contributing to the development of a professional point of [12] Schoenfeld, A. H., "Learning to think mathematically: problem
solving, metacognition, and sense making in mathematics", in D.
view. Grouws (Ed.), Handbook for Research on Mathematics Teaching and
The mathematical knowledge used in these problems is Learning, New York: MacMillan, 1992, pp. 334-370.
basic, to avoid mathematical phobia in the very first stages
[13] Smith, J.P.,III,diSessa, A., A, & Roschelle,J., Misconception
of the students in the world of CS, and to enable the new Reconceived: A Constructivist Analysis of Knowledge in Transition.
student to learn to appreciate the strength of mathematics Journal of the Learning Sciences, 3(2), 1993, 115-164.

0-7803-7444-4/02/$17.00 © 2002 IEEE November 6 - 9, 2002, Boston, MA 8


32 n d ASEE/IEEE Frontiers in Education Conference
T1G-8

S-ar putea să vă placă și