Can computer programming exercises improve the performance of physics students?
Carey Witkov
Physics Instructor
Broward Community College North Campus, 1000 Coconut Creek Pkwy.,
Coconut Creek, FL 33063
INTRODUCTION
Learning physics is a challenge for most students who attempt it.
Physics courses require
extensive problem-solving. Physics problems are usually "word
problems," i.e., students must
translate a verbal description of a problem into mathematical form and
then apply mathematical
operations to solve for the unknown quantities. This method of solving
physics problems is
similar to the method used to program a computer. Hence, it is natural
to ask whether learning to
program a computer would improve the performance of physics students.
The existing educational literature on the utility of computer
programming exercises to improve
student performance has mainly focused on general problem-solving
ability. It is a widely held
belief of computer programming teachers that computer programming
improves students' general
problem-solving abilities. For example, more than 90% of the 60
Information Processing and
Technology teachers who responded to a survey conducted in Queensland,
Australia agreed or
strongly agreed that programming increases students' problem-solving
abilities (King, Feltham
and Nucifora, 1994). There is some experimental evidence to support
this belief. Choi and
Repman (1993) exposed college students to Pascal and FORTRAN and found
an increase in
general problem-solving skills. Salomon and Perkins (1987) also found
some benefit but caution
that "... implementing such conditions on a wide scale may be
difficult, and that programming
instruction must compete with other means of improving cognitive skills."
The strongest argument against trying to improve the performance of
students by programming
exercises is the task-specific nature of learning. The argument is
that teaching students to
program a computer teaches students precisely that, to program a
computer, but not to solve any
other type of problem. Making the programming exercises relevant to
the subject being taught
can minimize this objection. For physics students this objection is
even less applicable because
some physics problems literally require programming a computer to
solve. The study described
in this paper involved physics problems that require a computer to
solve and those that do not.
METHODOLOGY
The primary study involved 16 students enrolled in the General Physics
with Calculus II Lab
course PHY 2049L. A smaller secondary study involved 7 students
enrolled in Applied Physics
PHY1001L. The choice of computer programming language and exercises
were classroomtested
during Term I. Data for the study was collected during Term II. The
Term I experience of
teaching physics students to use the computer language BASIC as a lab
tool suggested that an
alternative computer programming language would be preferable for use
in this study. Physics
students are more familiar with math syntax than computer syntax.
While the syntax of BASIC
is simpler than that of many other programming languages, it was still
found to be too
"computer-like" and less "math-like" for students to feel comfortable
with. A computer
spreadsheet (i.e., Microsoft Excel) offered several advantages. First,
many students already
possessed spreadsheet experience. Second, students who have never used
spreadsheets learned to
be productive with spreadsheets during a single session. Third, most
students appeared to enjoy
using Excel. The same cannot be said about learning to use a
conventional programming
language.
Three exams were given in each lab course. Exams 1 and 2 consisted of
physics problems whose
solution required algebraic or calculus methods. Let's call these
traditional exercises. Exam 3
consisted of programming exercises, i.e., physics problems which
either cannot be solved by
traditional means, (e.g., transcendental equations), or physics
problems for which most of the
students did not yet know a traditional means of solution (e.g., some
types of differential or
difference equations). In the latter case, physics problems for which
students did not yet possess
the math tools to solve by traditional means were converted into
programming problems that can
be easily solved numerically.
RESULTS
For the 16 students, average scores for traditional exercises on exams
1 and 2 were 4.94 and 4.91
out of 6 respectively. The average score for the programming exercises
was 5.34. Exam 1 and 2
scores for traditional exercises were pooled and compared to Exam 3
scores for programming
exercises. An ANOVA analysis of the scores for the two groups gave a
probability of less than
20% that the difference in mean scores was the result of chance.
Hence, in this study,
programming exercises resulted in physics test scores that, with an
80% likelihood, were higher
than traditional exercises. The smaller secondary study using Applied
Physics (PHY1001L)
students (N=7) also showed higher exam scores than traditional
exercises, but the small sample
size did not allow for a meaningful statistical comparison.
An alternative explanation for the higher exam scores using
programming exercises is the
possibility that the exams using traditional exercises were more
difficult than those using
programming exercises. This is unlikely to be the case since the
traditional exercises were
standard physics problems while the programming exercises were
problems that are usually
included in physics textbooks as advanced problems. Hence, programming
exercises made
advanced topics accessible to physics students and still resulted in
higher test scores than
traditional exercises.
CONCLUSION
The results of this study suggest that physics teachers can teach
basic programming skills using a
computer spreadsheet embedded in the physics curriculum and be
confident that students will,
with an 80% likelihood, perform better than using traditional
exercises. Even if students
receiving programming exercises were to perform only as well as those
receiving traditional
exercises, the programming approach offers several additional
benefits. First, topics that are
usually regarded as advanced or too difficult were made accessible by
the use of programming
exercises. This is because programming exercises involve repetition of
simple arithmetic
operations. By this means even algebra-based physics students can
numerically solve a
differential equation that students who have taken a course in
differential equations might not
easily solve by closed-form methods. Moreover, because programming
reduces complex
problems to step-by-step procedures involving simple arithmetic
operations, students fully
understand the mechanics of the solution. Second, the skill of
programming a computer
spreadsheet to solve physics problems is a useful one that can be used
by students in their future
math, science, and engineering courses and employment.
REFERENCES
Choi, W. S. & Repman, J. (1993). Effects of Pascal and FORTRAN
programming on the
problem-solving abilities of college students. Journal of Research on
Computing in Education,
25(3), 290-302.
King, J. A., Feltham, J., & Nucifora D. (1994) Novice Programming in
High Schools: Teacher
Perceptions and New Directions. Australian Educational Computing, 9(2), 17-23.
Salomon, G., & Perkins, D. (1987). Transfer of cognitive skills from
programming: When and
how? Journal of Educational Computing Research, 3(2), 149-169.
ไม่มีความคิดเห็น:
แสดงความคิดเห็น
Comments.