On the Origins of Programmers:  Identifying Predictors of Success for an Objects-First

Phil Ventura, M.S.
pventura@cse.buffalo.edu
University at Buffalo, SUNY
http://www.cse.buffalo.edu/~pventura

Introduction

Over the past 2 years we have developed and taught an objects-first CS1 & 2 sequence at University at Buffalo (Ventura & Alphonce, 2001) .  The course includes a strong object-oriented design and programming approach.  This work seeks to investigate empirically the pedagogical issues of an objects-first CS1.  In particular, the research will examine how an objects-first CS1 changes the role of predictors of success for more traditional CS1 courses.

Previous Research in Area

The ACM/IEEE Computing Curriculum 2001 (CC2001) (Curricula, 2001) defines the notion of an objects-first CS1 & 2 sequence.  Its authors write of the disadvantages of a programming-first approach.  We have argued in (Alphonce & Ventura, 2002) that a strong design approach can mitigate such problems.

Nguyen and Wong (Nguyen & Wong, 2001) have argued that the use of an objects-first approach along with design patterns and fun assignments “results in students who possess strong abstraction skill.”

No empirical data have been published to illustrate the power of the objects-first approach.  Several researchers have investigated predictors of success for traditional imperative-first courses (Byrne & Lyons, 2001; Cantwell Wilson & Shrock, 2001; Evans & Simkin, 1989; Leeper & Silver, 1982; Nowaczyk, 1983) noting the importance of mathematical ability.  Prior programming is shown to be a predictor of success by (Cantwell Wilson & Shrock, ; Evans & Simkin, ; Hagan & Markham, 2000) .  CC2001 (Curricula) notes that a programming-first approach puts students without prior programming experience at a disadvantage.  Cognitive, psychological and other academic factors were examined by (Byrne & Lyons, ; Evans & Simkin, ; Kurtz, 1980; Leeper & Silver, ; Mazlack, 1980; Nowaczyk, ; Sheard & Hagan, 1998) .  In short there is considerable research on predictors of success for imperative-first courses.

Goals of the Research

We will take up Lewis’s (2000) charge that, “No matter what your definition of objects first is, it is likely to be different from that of the person next to you.  In papers, presentations, textbooks, and even hallway conversations, we should always clarify this term to ensure clear communication.”  

Additionally we wish to identify the factors that contribute to success in an objects-first CS1.  The factors to be examined include comfort-level, programming experience, mathematical ability, gender, attribution of success (to ability, task ease/difficulty, luck or effort), work style, reason for studying computer science (Cantwell Wilson & Shrock) , class attendance, use of office hours and critical thinking ability.

Our main hypotheses are:

Current Status

Institution Review Board approval was gained in February.  Data collection began in the Spring 2002 semester.  I successfully defend my Ph.D. proposal in June.  For the Fall 2002 semester we have changed from paper-and-pencil to online data collection and have added a critical thinking assessment to the battery of tests.  At the time of writing November 2002, analysis has begun on the Spring 2002 data.  I anticipate starting writing on the thesis within the next couple weeks.

Interim Conclusions

Preliminary results from suggest that neither Math nor prior programming experience are predictors of success for the objects-first CS1.  Initial analysis of the data collected from the Spring 2002 semester seems to support this claim.  We are optimistic that these results will be supported by the continued work.

Current Stage in Program

I am currently A.B.D. and hope to complete my writing and defend the thesis by early- to mid-summer.

Doctoral Consortium Goals

I would like to attend the Doctoral Consortium to gain exposure for my work and to foster collaborations in the area of computer science education.

Bibliography

Alphonce, C. G., & Ventura, P. R. (2002). Object orientation in CS1-CS2 by design. Paper presented at the 7th Annual Conference on Innovation and Technology in Computer Science Education, Aarhus, Denmark.

Byrne, P., & Lyons, G. (2001). The effect of student attributes on success in programming. Proceedings of the 6th annual conference on Innovation and technology in computer science education, 49-52.

Cantwell Wilson, B., & Shrock, S. (2001). Contributing to success in an introductory computer science course:  A study of twelve factors. ACM SIGCSE Bulletin , Proceedings of the thirty second SIGCSE technical symposium on Computer Science Education, 33(1), 184-188.

The Joint Task Force on Computing Curricula. (2001). Computing Curricula 2001 Computer Science: IEEE Computer Society & Association for Computing Machinery.

Evans, G. E., & Simkin, M. G. (1989). What best predicts computer proficiency? Communications of the ACM, 32(11), 1322-1327.

Hagan, D., & Markham, S. (2000). Does it help to have some programming experience before beginning a computing degree program? ACM SIGCSE Bulletin , 5th annual SIGCSE/SIGCUE conference on Innovation and technology in computer science education, 32(3), 25-28.

Kurtz, B. L. (1980). Investigating the relationship between the development of abstract reasoning and performance in an introductory programming class. The papers of the eleventh SIGCSE technical symposium on Computer science education : SIGCSE bulletin, 110-117.

Leeper, R. R., & Silver, J. L. (1982). Predicting success in a first programming course. Paper presented at the Thirteenth SIGCSE Technical symposium on Computer Science Education, Indianapolis, Indiana.

Lewis, J. (2000). Myths about Object-Orientation and Its Pedagogy. ACM SIGCSE Bulletin , Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, 32(1), 245-249.

Mazlack, L. J. (1980). Identifying potential to acquire programming skill. Communications of the ACM, 23(1), 14-17.

Nguyen, D. Z., & Wong, S. B. (2001). OOP in introductory CS:  Better students through abstraction. Paper presented at the Fifth Workshop on and Tools for Assimilating Object-Oriented Concepts, OOPSLA01, Tampa, Florida.

Nowaczyk, R. H. (1983). Cognitive skills needed in computer programming. Paper presented at the Annual Meeting of the Southeastern Psychological Association, Atlanta, Georgia.

Sheard, J., & Hagan, D. (1998). Our failing students: A study of a repeat group. ACM SIGCSE Bulletin , Proceedings of the 6th annual conference on the teaching of computing/3rd annual conference on integrating technology into computer science education on Changing the delivery of computer science education, 30(3), 223-227.

Ventura, P. R., & Alphonce, C. G. (2001). Teaching OOD and OOP through Java and UML in CS 1 and 2. Paper presented at the Fifth Workshop on and Tools for Assimilating Object-Oriented Concepts, OOPSLA01, Tampa, Florida.