Model-Driven Programming

Conceptual modelling is the defining characteristic of object-orientation and provides a unifying perspective and a pedagogical approach focusing upon the modelling aspects of object-orientation. Reinforcing conceptual modelling as a basis for CS1 provides a course structure to integrate the core elements from a conceptual framework for object-orientation and a systematic approach to programming. Both of these are helpful to newcomers. The progression of the course is defined by the growing complexity of the conceptual model, which is to be implemented. The focus is not on conceptual modelling per se, but on the use of conceptual models as a structuring mechanism and a guide for the implementation. In this article we discuss different ways to structure an introductory programming course and give concrete examples on how a course where the complexity of the conceptual model is defining the structure.

[1]  Ole Lehrmann Madsen,et al.  Object-oriented programming in the BETA programming language , 1993 .

[2]  Carl Alphonce,et al.  Object orientation in CS1-CS2 by design , 2002, ITiCSE '02.

[3]  Benedict du Boulay,et al.  Some Difficulties of Learning to Program , 1986 .

[4]  Benedict duBoulay,et al.  Some Difficulties of Learning to Program , 1986 .

[5]  D. DuBois,et al.  Individual and environmental predictors of adjustment during the first year of college. , 1995 .

[6]  PauschRandy,et al.  Teaching objects-first in introductory computer science , 2003 .

[7]  Pat Byrne,et al.  The effect of student attributes on success in programming , 2001, ITiCSE '01.

[8]  Jens Bennedsen,et al.  An investigation of potential success factors for an introductory model-driven programming course , 2005, ICER '05.

[9]  Reliford Theopolis Sanders Intellectual and Psychosocial Predictors of Success in the College Transition: A Multi-Ethnic Study of Freshmen Students on a Predominantly White Campus , 1997 .

[10]  Michael Kölling,et al.  The BlueJ System and its Pedagogy , 2003, Comput. Sci. Educ..

[11]  T K Szulecka,et al.  General health, psychiatric vulnerability and withdrawal from university in first-year undergraduates , 1987 .

[12]  Ronan G. Reilly,et al.  Programming: factors that influence success , 2005, SIGCSE '05.

[13]  Dianne Hagan,et al.  Does it help to have some programming experience before beginning a computing degree program? , 2000, ITiCSE '00.

[14]  John Lewis,et al.  Myths about object-orientation and its pedagogy , 2000, SIGCSE '00.

[15]  Frederick A. Hosch,et al.  An Introduction to Programming and Object-oriented Design Using Java , 2007 .

[16]  Michael Kölling,et al.  Guidelines for teaching object orientation with Java , 2001, ITiCSE '01.

[17]  David Gries,et al.  What should we teach in an introductory programming course? , 1974, SIGCSE '74.

[18]  D. Kolb Experiential Learning: Experience as the Source of Learning and Development , 1983 .

[19]  Michael E. Caspersen,et al.  Here, there and everywhere - on the recurring use of turtle graphics in CS1 , 2000, ACSE '00.

[20]  Randy Shepherd,et al.  Object-Oriented Programming , 1994, Lecture Notes in Computer Science.

[21]  S. R. Ting,et al.  First-year academic success: A prediction combining cognitive and psychosocial variables for Caucasian and African American students. , 1998 .

[22]  Cay S. Horstmann,et al.  Big Java , 2002 .

[23]  Randy F. Pausch,et al.  Teaching objects-first in introductory computer science , 2003, SIGCSE.

[24]  Jørgen Lindskov Knudsen,et al.  Teaching Object-Oriented Programming Is More than Teaching Object-Oriented Programming Languages , 1988, ECOOP.

[25]  Axel Schmolitzky "Objects first, interfaces next" or interfaces before inheritance , 2004, OOPSLA '04.

[26]  Michael Kölling,et al.  Objects First with Java - A Practical Introduction Using BlueJ (5th Edition) , 2002 .

[27]  Gerald Weiss,et al.  Introduction to Programming Using Java: An Object-Oriented Approach, Java 2 Update, JavaPlace Edition , 1998 .

[28]  Philip R. Ventura,et al.  Identifying predictors of success for an objects-first CS1 , 2005, Comput. Sci. Educ..

[29]  Janet Rountree,et al.  Learning and Teaching Programming: A Review and Discussion , 2003, Comput. Sci. Educ..