You are on page 1of 4

149

MISCONCEPTIONS IN CIS EDUCATION


Garry White, M.A., M.S., C.C.P.
Computer Information Systems
Southwest Texas State University
San Marcos, TX 78666
ABSTRACT
Prior knowledge can interfere with new learning. This is due to different contextual
uses for the same symbols. Some preconceptions that can lead to misconceptions
are the equal symbol (assign value vs compare) and the addition symbol (addition
vs concatenation). Computer mathematics has differences from Algebraic
mathematics.
A solution to these misconceptions is to develop mental models for these new
conceptions. A stress on the new context and computer architecture will help show
the differences between computer programming concepts and mathematical
concepts.
THEORY
The Constructivism theory of learning states knowledge is constructed from personal
experiences. Learning is a result of social interactions. Old knowledge affects new knowledge.
(Preconceptions in Computer Science Education, SIGCSE 2000 referred paper)
Prior knowledge can lead to preconceptions that become misconceptions. What was
learned in a prior context can become an error in a new context. Such misconception might be
hidden from student and teacher (Madison, Gifford 1997). Both teacher and student might be
unaware of the student's confusion between old and new contexts. For example the "+" symbol
means the addition of two numbers. This is what is taught in school. However, in computer
programming, the same symbol can mean concatenation, the joining of two characters.
These preconceptions, based on context, are different from problem solving
misconceptions. Problem solving misconceptions can lead to programming bugs. Bugs can be
defined as an inappropriate use of student's knowledge for a step by step procedural
specification (Bonar, Soloway 1985). Three types of bugs are 1) parallelism, more than one
statement active at one time; 2) intentionality, attribution of goal directedness; and 3)
egocentrism, assumes there is more of the programmer's meaning than is present in the code.
These 3 bugs assume the programming language is intelligent and has interpretive powers (Pea
1984). The misconceptions I am looking at are due to the syntax and the semantics of the
JCSC 16, 3 (March 2001)
2001 by the Consortium for Computing in Small Colleges

JCSC 16, 3 (March 2001)
150
language (Sleeman, Gong 1985). They are based on errors due to a new context of an old
concept. A word can have different meanings in different contexts or usage.
SPECIFIC PRECONCEPTION PROBLEMS
Mathematical knowledge can lead to misconceptions in Computer Information Systems
programming. The pre-existing knowledge is correct within mathematics. Yet, this prior
knowledge can interfere with learning programming in Computer Information Systems. For
example, there is X = X + 1. In mathematics this would be an error. In Computer Information
Systems programming, this would be an increment statement for the variable X. An addition is
done to X and the results are placed back in X. Computer mathematics is different from
Algebraic mathematics.
Sometimes the addition of two large positive numbers may result in a negative number
when done on a computer. Again this is a violation of mathematics. The cause is due to the
architecture of the computer. When a number exceeds the largest value the computer can
process, the internal bit code results in a negative sign.
The symbols "+" and "=" used in mathematics and computer programming can have
different meanings. In mathematics the "+" is the addition operation for numbers. In Computer
Information Systems programming it can mean the same thing or it can mean "concatenation,"
the joining of two characters. "A" + "B" may be confused as an Algebraic statement instead of
a joining operation. The result of concatenation is "AB."
A similar problem exists with the "=" sign. In mathematics it is equal, indicating the result
of a mathematical operation. In Computer Information Systems programming, it can also mean
"compare," as seen in an IF statement.
Finally, there is the natural way to count. From the first day of school people are taught
to start with the number 1 when counting. For example, if you label 5 boxes, you would start
with the number 1 on the first box. In Computer Information Systems programming you would
start with the number 0 on the first box. This type of problem is found with variable arrays in
computers. Either the person fails to start the array with 0 or miscalculates the number of items
in the array.
CONTRIBUTING CAUSES
Even though students might perform adequately on program generation tests, they can still
have misconceptions concerning the statements they have learned (Bayman, Mayer 1982).
Computer Information Systems teachers would then be unaware of students' misconceptions.
The computer text book may poorly clarify these differences between Computer
Information Systems programming and mathematical concepts. It can be difficult to
conceptualize these new abstract concepts. Therefore, students may not accept these new
concepts offered by the teacher or the book since they contradict correct prior knowledge.
CCSC: South Central Conference
151
SOLUTION
There are several ways these preconceptions problems can be corrected. One way is to
develop mental models of what happens in the computer (Bayman 1983). A stress on the new
context and computer architecture will help show the differences between mathematical
concepts and computer programming concepts.
Another method is to teach the students the syntax and semantics of computer
programming. A good textbook would be one that stresses these differences involving syntax
and semantics. After the teacher or the book presents the concepts, the teacher should have
the students verbalize, explain and predict outcomes of short programs (Sleeman, Gong 1985).
Learning the syntax is not enough to learn correct computer programming and overcome these
misconceptions. The semantics of the language must be included (Bayman, Mayer 1988).
A problematic solution is student discussion groups on exercises that address these
different concepts. Conceptual change may induce "cognitive dissonance." What was learned
earlier is correct. In order to maintain self-esteem, the student may be unable to admit that prior
knowledge is now wrong. There is the risk of confrontation due to closed minds.
The teacher may have to explain that these prior concepts are being expanded to
accommodate new contexts and usage; add more to what is already known. In mathematics
these prior concepts are correct and in Computer Information Systems programming these
concepts are correct when expanded to new meanings. Once these new concepts are accepted,
the students need to practice these new ideas in a range of situations.
REFERENCES
Referred paper. Preconceptions in Computer Science Education, SIGCSE 2000.
Bayman, P. & Mayer, R. E.(1982). Novice Users' Misconceptions of BASIC Programming
Statements. Report No. 82-1. ERIC ED238395.
Bayman, P. & Mayer, R. E. (1988). Using Conceptual Models to Teach BASIC Computer
Programming. Journal of Educational Psychology, v80, n3, p291-98.
Bayman, P.(1983). The Effects of Instructional Procedures on Beginning Programmers' Mental
Models. ERIC ED238406.
Bonar, J. & Soloway, E. (1985). Pre-Programming Knowledge: A Major Source of
Misconceptions in Novice Programmers. ERIC ED258805.
Madison, S. & Gifford, J. (1997). Parameter Passing: The Conceptions Novices Construct.
ERIC ED406211.
Pea, R. D. (1984). Language-Independent Conceptual "Bugs" in Novice Programming.
Technical Report No. 31. ERIC ED319373.
JCSC 16, 3 (March 2001)
152
Sleeman, D. & Gong, B. (1985). From clinical Interviews to Policy Recommendations: A Case
Study in High School Computer Programming. Study of Standford and the Schools
Technology Panel. ERIC ED257415.

You might also like