Limitations in the understanding of mathematical logic by novice computer science students

This research explored the understanding that novice computer science students have of mathematical logic. Because concepts of logic are at the heart of many areas of computer science, it was hypothesized that a solid understanding of logic would help students grasp basic computer science concepts more quickly and would better prepare them for advanced topics such as formal verification of program correctness. This exploratory study lays the groundwork for further investigation of this hypothesis. Data for the study were the publicly available versions of the Advanced Placement Examination in Computer Science (APCS examination) and files containing anonymous individual responses of students who took these examinations. A content analysis procedure was developed to provide reliable and valid classification of multiple-choice items from the APCS examinations based on the relationship between concepts covered in each item and the concepts of logic. The concepts in the computer science subdomain of logic were clarified by means of a taxonomy developed for use in this study. Thirty-eight experts in computer science education were judges in the content analysis of the multiple-choice items. The judges' ratings provided criteria for grouping items into strongly related and not strongly related partitions. In general, the mean proportion of student respondents that correctly answered the items in a partition was lower for the strongly related than for the not strongly related partition, with a smaller standard deviation. The difficulty distributions for the two partitions were shown to be non-homogeneous ($p\le .002$), with the difficulty distribution for the strongly related partition skewed more towards the "very difficult" end of the distribution. The results of this study suggest that novice computer science students experience more difficulty with concepts involving mathematical logic than they do, in general, with other concepts in computer science. This indicates a need to improve the way in which novice computer science students learn the concepts of logic. In particular, pre-college preparation in mathematical logic and the content of discrete mathematics courses taken by computer science students need to be scrutinized.

[1]  Brian L. Meek Two-valued datatypes , 1990, SIGP.

[2]  Kenneth Tobin,et al.  The Development and Validation of a Group Test of Logical Thinking , 1981 .

[3]  A. Whitehead An Introduction to Mathematics , 1949, Nature.

[4]  Edgar T. Irons,et al.  A syntax directed compiler for ALGOL 60 , 1961, CACM.

[5]  J. S. Evans,et al.  Current Issues in the Psychology of Reasoning. , 1980 .

[6]  H. Furth Piaget and Knowledge: Theoretical Foundations , 1981 .

[7]  Mary Shaw,et al.  The Carnegie-Mellon Curriculum for Undergraduate Computer Science , 1985, Springer New York.

[8]  Mary Shaw,et al.  Curriculum '78—is computer science really that unmathematical? , 1980, CACM.

[9]  Marshall S. Smith,et al.  The general inquirer: A computer approach to content analysis. , 1967 .

[10]  G. Hasenjaeger Introduction to the Basic Concepts and Problems of Modern Logic , 1971 .

[11]  Michael D. Piburn Reasoning about logical propositions and success in science , 1990 .

[12]  E. Markman Piaget's theory of intellectual development 2nd ed. , 1979 .

[13]  Hossein Saiedian Mathematics of Computing , 1992, Comput. Sci. Educ..

[14]  Fred B. Schneider,et al.  A Logical Approach to Discrete Math , 1993, Texts and Monographs in Computer Science.

[15]  John R. Anderson Cognitive Psychology and Its Implications , 1980 .

[16]  Edsger W. Dijkstra,et al.  A constructive approach to the problem of program correctness , 1968 .

[17]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

[18]  Edna Hines Philosophy , 1932 .

[19]  Jeannette M. Wing A specifier's introduction to formal methods , 1990, Computer.

[20]  C. Hirsch Curriculum and Evaluation Standards for School Mathematics , 1988 .

[21]  T. Wickens,et al.  Multiway Contingency Tables Analysis for the Social Sciences , 1992 .

[22]  Richard H. Austing,et al.  Curriculum '78: recommendations for the undergraduate program in computer science— a report of the ACM curriculum committee on computer science , 1979, CACM.

[23]  D. Hilbert,et al.  Principles of Mathematical Logic , 1950 .

[24]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[25]  Allen B. Tucker Fundamentals of Computing , 1993 .

[26]  Alfs T. Berztiss A mathematically focused curriculum for computer science , 1987, CACM.

[27]  H. Gardner,et al.  Frames of Mind: The Theory of Multiple Intelligences , 1983 .

[28]  Fred B. Schneider,et al.  A New Approach to Teaching Mathematics , 1994 .

[29]  Markku Sakkinen On embedding Boolean as a subtype of integer , 1990, SIGP.

[30]  Peter J. Denning,et al.  Computing as a discipline , 1989, Computer.

[31]  Susan M. Merritt,et al.  ACM model high school computer science curriculum , 1993, CACM.

[32]  David Gries,et al.  Teaching calculation and discrimination: a more effective curriculum , 1991, CACM.

[33]  D. Biology meeting of the National Association for.ResearCh in'Science Teaching , 1973 .

[34]  Robert W. Floyd,et al.  Assigning meaning to programs , 1967 .

[35]  John Cooke Formal Methods - Mathematics, Theory, Recipes or What? , 1992, Comput. J..

[36]  J. Piaget,et al.  The Growth of Logical Thinking , 1959 .

[37]  Norman E. Gibbs,et al.  A model curriculum for a liberal arts degree in computer science , 1986, CACM.

[38]  Antony Galton,et al.  Logic as a Formal Method , 1992, Comput. J..

[39]  G. Lefrançois Psychology for teaching , 1979 .

[40]  Klaus Krippendorff,et al.  Content Analysis: An Introduction to Its Methodology , 1980 .

[41]  Nuel D. Belnap,et al.  Quantifying in and Out of Quotes , 1973 .

[42]  Richard Bornat,et al.  A Review of Several Programs for the Teaching of Logic , 1993, Comput. J..

[43]  Raymond T. Boute A heretical view on type embedding , 1990, SIGP.

[44]  Allen B. Tucker,et al.  Computing curricula 1991: Report of the ACM/IEEE-CS Joint Curriculum Task Force , 1991 .

[45]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[46]  J. Guilford,et al.  The nature of human intelligence. , 1968 .

[47]  Alonzo Church,et al.  Introduction to Mathematical Logic. Volume I. , 1957 .

[48]  R. Stofflett,et al.  The Effects of Training in Combinatorial Reasoning and Propositional Logic on Formal Reasoning Ability in Junior High School Students , 1992 .

[49]  Niklaus Wirth,et al.  Algorithms + Data Structures = Programs , 1976 .

[50]  Mary K. Enright,et al.  Analytical Reasoning Skills in Graduate Study: Perceptions of Faculty in Six Fields. , 1987 .

[51]  J. Paul Myers,et al.  The central role of mathematical logic in computer science , 1990, SIGCSE '90.

[52]  Randy Elliot Bennett,et al.  Equivalence of Free-Response and Multiple-Choice Items , 1991 .

[53]  Michael D. Piburn Reliability and Validity of the Propositional Logic Test , 1989 .

[54]  Grigoris Antoniou,et al.  Logic - a foundation for computer science , 1991, International Computer Science Series.

[55]  Edward J. McCluskey,et al.  Curriculum 68: Recommendations for academic programs in computer science: a report of the ACM curriculum committee on computer science , 1968, CACM.

[56]  David Gries,et al.  The Science of Programming , 1981, Text and Monographs in Computer Science.

[57]  A. Rossier Letter to the Editor , 1986, Paraplegia.

[58]  H. Gardner,et al.  Multiple Intelligences Go to School: Educational Implications of the Theory of Multiple Intelligences. Technical Report No. 4. , 1989 .

[59]  Edsger W. Dijkstra,et al.  A method of programming , 1988 .