|
The idea for class was to give the students a better
understanding of the way in which a computer program with several
functions and various kinds of arguments is actually executed by the
computer. Students were assigned parts, i.e. a student became a
particular function whose statements they had to perform (execute),
when their function was called, using only the data which was passed
to the function at that time. One person also assumed the part of
the operating system, whose job it was to pass arguments to the
various functions, and perform any input or output tasks.
Each student in the class had a copy of the program, to be able
to follow along, and after I explained the ground rules, I let them
"execute" the program by describing what they were doing
and why. All students were able to ask questions at any time, and
the program was executed very slowly, because many explanations were
required.
It seemed to me that most students participated in the
discussion, and many issues that were confusing were brought out
into the open and discussed. As a result, many students were able to
clear up a number of fundamental misconceptions they had about how a
program executed and the nature of argument passing.
|