Fahima Djelil
email: fahima.djelil@uha.fr

Pierre-Alain Muller

Eric Sanchez
email: eric.sanchez@unifr.ch

Investigating Learners' Behaviours when interacting with a Programming Microworld An Empirical Study Based on Playing Analytics

Keywords: Programming microworlds, game-based learning, learning analytics, Object-Oriented Programming, PrOgO

In our attempt to support Object-Oriented Programming (OOP) learning for beginners, we designed a novel microworld called PrOgO. It is based on a three-dimensional (3D) constructive game metaphor for describing OOP basic concepts and their implementation. In this paper, we describe a study about the use of PrOgO by beginners to investigate their behaviours when interacting with the programming microworld. The study is based on the collection, analysis and reporting of data about players (playing analytics). The data analysis allows the identification and the characterisation of different behaviours. From an educational perspective, the expected behaviour has been confirmed for a limited number of students. This enabled us to conclude that the design of the game needs to be improved. In addition, behaviours triggered by most students might have other educational values, which could be confirmed by other similar studies.

Introduction

Teaching and learning introductory Object-Oriented Programming (OOP) is recognised to be a difficult task [START_REF] Börstler | Transitioning to OOP/Java-A Never Ending Story[END_REF]. Generally, abstract concepts describing OOP basics, and their implementation (coding) are the main difficulty faced by beginners [START_REF] Börstler | Transitioning to OOP/Java-A Never Ending Story[END_REF]. This includes the concept of an "object", its properties and its relationship to the concept of a "class", as well as the relationship between classes. To overcome this educational difficulty, microworlds have often been used [START_REF] Djelil | Microworlds for learning Object-Oriented Programming: Considerations from research to practice[END_REF]. Representative OOP microworlds are ObjectKarel, Alice and Greenfoot. A review of literature of these environments already exists [START_REF] Djelil | Microworlds for learning Object-Oriented Programming: Considerations from research to practice[END_REF]. These digital environments aim to give to beginners an intuitive and rapid understanding of abstract programming concepts, by allowing them to interact with representations of these concepts [START_REF] Djelil | Microworlds for learning Object-Oriented Programming: Considerations from research to practice[END_REF]. Following this trend and in our attempt to support OOP introduction for beginners, we created a new microworld called PrOgO. It is based on a three-dimensional (3D) constructive game metaphor and C++ programming language [START_REF] Djelil | Conception et évaluation d'un micromonde de Programmation Orientée-Objet fondé sur un jeu de construction et d'animation 3[END_REF]. This paper reports on an empirical study on the use of PrOgO by beginners, to investigate its educational value. In particular, our goal is to know if the students' behaviours are relevant, by providing them with a good understanding of the addressed concepts. Playing analytics enables for the description of learners' behaviours. We collected and analysed interaction traces on the basis of event logs generated by PrOgO when students interacted with it. This work does not consider the link between learners' behaviours and their knowledge gain. This was carried out in another experiment which is already published [START_REF] Djelil | Acquisition de connaissances de programmation en fonction des stratégies d'apprentissage: une étude empirique du micromonde PrOgO[END_REF].

The present paper is organised as follows. Section 2 gives a brief description of the PrOgO microworld. Section 3 is dedicated to the description of the study, including the addressed research question and the related hypothesis. Section 4 describes the methodology employed, including details of the context, as well as data collection and analysis. Results are summarised in section 5 and then discussed in section 6. Finally, conclusions are drawn in section 7.

The PrOgO microworld

PrOgO was created to address the needs of computer science teachers at the University of Clermont-Auvergne (France), where OOP is introduced in the C++ language. Teachers expressed a need for a playful tool, which is easy to use in a classroom with beginners, to represent abstract OOP basic concepts and their implementation in the C++ language. Therefore, PrOgO is designed with the intention to help beginners to understand the conceptual model triggering the OOP paradigm basics.

In terms of game purpose, it is expected that the player builds and animates 3D graphical robots or mechanical structures. In terms of metaphor and learning content integration, each 3D elementary graphic consists of a visual representation of a "computing object" (an instance of a "computing class"). A computing object has attributes and methods that define its appearance and also behaviours. This is what is represented, to be learned in the PrOgO interface with graphical blocks. Like a computing object, each 3D block has some properties, such as a position, a rotation and a colour. Thus, each 3D block is a constructive game piece and can be connected to another one. Connecting different blocks and operating some actions on them enables the building and animation of a 3D structure which represents an object-oriented system (Figure 1a). Constructing and animating this structure is a metaphor of the OOP paradigm basics. Moreover, it has been demonstrated that analogies and metaphors are at the basis of human cognition [START_REF] Hofstadter | Surfaces and Essences: Analogy as the Fuel and Fire of Thinking[END_REF]. Analogies and metaphors help learners to categorise and to capture the essence of concepts. We expect that such an approach will effectively help to overcome difficulties faced by students with OOP.

The PrOgO's interface includes a 3D scene synchronised with a code completion editor. Programming statements are generated when actions are performed on the 3D graphics. The code editor is exclusively based on auto-completion. It enables students to avoid syntax errors and to be focused on the relationship between concepts and their implementation (coding) (Figures 1b and1c). Moreover, the result of each completed statement is immediately visualised in the 3D scene.

Research question and objective

The objective of this empirical study consists of the identification and the characterisation of students' behaviours when playing with PrOgO. We want to know to what extent the students' behaviours may offer them the opportunity to understand the core concepts of OOP. We address the following question: What characterises the students' behaviours when playing with PrOgO?

We hypothesise that learners should spend time on the PrOgO interface, and manipulate most of the learning concepts both within the 3D scene and the code editor. Such behaviour should be triggered by students, to help us to verify the educational value of PrOgO regarding learning and teaching. This behaviour would help students to understand the link between the formal abstract basic concepts of OOP (the code editor) and the visual representations of the concepts through the PrOgO interface (the 3D scene). Consequently, learners would be able to analyse the OOP paradigm and to understand the addressed concepts.

Methodology

The study is based on playing analytics [START_REF] Sanchez | Exploring Competition and Collaboration Behaviors in Game-Based Learning with Playing Analytics[END_REF], which is an emerging sub-field of learning analytics. Learning analytics offers the opportunity to practitioners and researchers for measuring, collecting, analysing and reporting data about learners [START_REF] Siemens | Penetrating the Fog: Analytics in learning and education[END_REF]. This enables monitoring of learners' activities and assessing innovative educational approaches. We conducted a statistical analysis of the actions performed by the students, based on their digital traces. They consisted of event logs that recorded learners' interactions with the PrOgO interface. By monitoring students' use of PrOgO we expected to investigate whether the game was used in a way that could help them learn, then to verify its educational value. In order to determine typical learners' behaviours, and the set of performed action types underlying similarities and differences between learners, we conducted a Principal Component Analysis (PCA) [START_REF] Jolliffe | Principal component analysis[END_REF] and an Agglomerative Hierarchical Clustering (AHC) [START_REF] Day | Efficient algorithms for agglomerative hierarchical clustering methods[END_REF] on data built from the collected traces.

Context of the study

The study was carried out with learners from two study levels: first year university learners in the Digital Imaging Degree (University of Clermont-Auvergne, France), and final year learners in a science and technology secondary school (Lycée Charles et Adrien Dupuy, France). Sixty-seven students (55 university students and 12 secondary school students) participated in the study in October 2015. They had all previously been introduced to procedural programming but had never been introduced to OOP.

The experiment lasted for one hour. Learners were given access to a tutorial describing the game objective, the interface details, and how they could perform different tasks both in the 3D scene and the code editor of PrOgO. They were asked to play individually with PrOgO and to express their creativity for constructing and animating a virtual robot or a machine. During the experiment, learners' actions were recorded and log files were enabled to keep track of their use of PrOgO.

Data collection and analysis

Players' interactions were recorded in log files, which included timestamped interactions in relation to the learning basic concepts of OOP: creations of objects; modifications of objects' attribute values; and method calls. These interactions could be performed both inside the 3D scene, and the code editor (code selections and code completions). In order to prepare the data analysis, we built a new data file of aggregated data. For each participant, we stored the number of different interactions, as well as the time spent on the game. This included the number of interactions performed both inside the 3D scene, and the code editor such as the code completion actions. PCA was conducted with this aggregated data (Table 1). The key objective with PCA is to reduce the dimensionality of a dataset with a large number of interrelated variables, while retaining as much as possible the variation present in the dataset [START_REF] Jolliffe | Principal component analysis[END_REF]. This reduction is achieved by converting the initial variables into a new set of uncorrelated variables, called principal components. Principal components are ordered so that the first few retain most of the variation present in the dataset [START_REF] Siemens | Penetrating the Fog: Analytics in learning and education[END_REF]. The principal components are also called PCA axes or factors. This reduction of variables enables the user to find the two-dimensional plane through the high-dimensional dataset in which the data are most spread out. So, data can be plotted with respect to those two dimensions, and to produce a visual representation of the data. The PCA returned the principal components with their corresponding eigenvalues, reflecting the variability of the reduced initial data. Ideally, a small number of factors with high eigenvalues are retained to ensure good visual representations of data [START_REF] Jolliffe | Principal component analysis[END_REF]. A second important PCA result is the correlation circle. This circle shows a projection of the initial variables in a 2-dimensional space with respect to two chosen factors that are ideally the first two. Correlation refers to the degree of dependence between two variables. In our case, it is measured according to Pearson's correlation coefficient, giving a value between -1 and +1 inclusive. The closer the coefficient is to -1 or +1, the greater is the correlation between the variables. To ensure a good interpretation of the meaning of the axes, variables should be far from the centre of the circle. A variable is well linked to an axis when the absolute value of its coordinate on the axis is high. The greater the coordinate absolute value, the greater is the link with the corresponding axis.

In order to achieve our ultimate goal, which is to identify groups of learners, we conducted an AHC on the new observations' coordinates in the sub-space containing the chosen factors. Then, we conducted a second PCA on the same initial dataset to which we added the observations groups returned by the AHC, as a supplementary qualitative variable. We obtained a 2-dimensional map. To complement the visual results from this map, we looked at the coordinates of the classes' centroids with respect to the chosen factors. Centroids are the most typical observations. They have very similar characteristics to observations within the same category but are significantly different from observations belonging to a different category. Therefore, centroids can give us a general idea of the trends inside a whole class.

Categories of students

The PCA returned 8 factors estimated from the initial variables listed beforehand (Table 2). The first three eigenvalues represent 61.45% of the initial variability of the data. We retained the first three factors and ignored the last ones, since the fourth factor had an eigenvalue quite similar to the third one and the last ones had very low eigenvalues.

The correlation circle showed that the horizontal axis (F1) is linked with variables NB of Instantiate-Connect, NB of CodeSelection and NB of CodeCompletions, while the vertical axis (F2) is linked with the variable Total time (Figure 2). Results from Table 3 confirm the set of variables defining the different axes. Variables that scored high on the factor F1 are the same listed above, with respective correlation values of -0.75, 0.79, and 0.79. F2 is positively correlated with Total time with the value 0.90, and F3 is significantly correlated with the variables NB of callFuncColorFor, and NB of callFuncTurnFor. Correlation values between these variables with F3 are respectively 0.66 and 0.62. Based on the statistical analysis, we can conclude that it is possible to distinguish students: (1) by the number of actions performed with the code editor as well as the number of class instantiation actions; (2) by the total time spent on the PrOgO interface and; (3) by the actions performed to animate the robot of the 3D-scene.

The AHC was conducted on the new observations' coordinates in the 3-dimensional space with respect to the chosen factors F1, F2, and F3. The algorithm returned four homogeneous groups showing, for each participant, the group the user belongs to. After running a PCA for a second time on the same initial variables with a supplementary qualitative variable (the group to which an observation belongs to), we obtained a 2-dimensional map (F1-F2) of the observations, coloured according to the category they belong to (Figure 3). Class-1 objects (the blue points) are plotted in the negative semi-plane of the F2 axis, which is highly correlated with the Total time variable (Figure 3). This indicates that class-1 members are students who have spent little time playing with PrOgO. They have low coordinate absolute values on the F1 axis, which means that they performed a small number of actions, both within the code editor and the 3D scene. Few students belonged to this class. The class-1 centroid is defined by the coordinates (-0.42,-1.83,-0.04) in the subspace (F1, F2, F3), indicating first, that the user has performed a small number of actions linked to the factors F1 and F3, and second, has spent little time playing with PrOgO (-1.83 on the F2 axis). Thus, class-1 is covered by learners who performed a small number of actions, since they have spent little time playing with PrOgO. They represent 18.18 % (Table 4) and may correspond to learners who were not very interested in playing with PrOgO.

Class-2 objects (the green points) are plotted in the negative semi-plane of the F1 axis and mostly in the positive semi-plane of the F2 axis (Figure 3). This indicates that these class members performed a high number of instantiation actions in the 3D scene, and no or very few actions within the code editor. The central object from Table 4 is defined by the coordinates (-0.96, 0.13, -0.07) in the subspace (F1, F2, F3). It represents a student who created a lot of objects in the 3D scene and connected them to each other without using the code editor. The user also played close to the mean time of the experiment and performed no or very few animation actions (as the coordinate is close to 0 on F3). As a result, class-2 members are students who constructed a 3D robot, without using the code editor. They are numerous (42.42 %) and have nearly used all the time allocated to the experiment without animating their realisations.

Class-3 objects (the magenta points) are plotted in the positive semi-plane of F1 and F2. According to the F1 axis, they have lower values compared to class-4 members, and greater values compared to class-2 members. They are also located near to the variables related to the animation actions, namely NB of callFuncColorFor, and NB of callFuncTurnFor. Therefore, class-3 members stand out by having: 1) not a high number of coding actions compared to class-4; 2) not a high number of construction actions compared to class-2; 3) and finally a high number of animation actions compared to class-2 and class-4. This can be confirmed by the central object having the coordinates (0.21, 0.89, 1.35). It represents a student who used the code editor, has spent time playing with PrOgO and has animated his construction. Class-3 members are also not numerous, they represent 18.18% (Table 4).

Class-4 members (the red points) are located in the positive semi-plane of F1. They have high values on the F1 axis and moderate absolute values on F2. Class-4 members are students who performed the highest number of coding actions and had a limited use of the 3D scene. The central object is defined by the coordinates (2.15, 0.31, -1.08), representing a student who has performed most of his actions on the code editor, has used the allocated time and has performed very few animation actions. Therefore, class-4 contains participants that are differentiated by the highest number of coding actions compared to the rest of participants.

Discussion

Based on the statistical analysis, we obtained four categories of learners who play differently with PrOgO. A first important result is that a majority of students had mostly accepted to play with PrOgO, since those who had spent little time on its interface represented a low percentage of students (Class-1) (Table 4). The majority of students used most of the time allocated to achieve the game's objective in three different ways: students who were focused on the 3D scene with the goal to construct a meaningful 3D structure (Class-2); those who were both focused on the 3D scene (high number of animations) and the code editor (a high number of coding actions) (Class-3); those who performed the highest number of code completion actions, and low construction and animation actions within the 3D scene (Class-4). Thus, one group of learners was focused on constructions within the 3D scene, whereas another was focused on the code editor with a varying number of code completion actions.

One important result is that only a few students manipulated most of the learning concepts (Class-3). These participants performed a high number of animation actions (method calls concept), in addition to actions of construction within the 3D scene (objects' creation concept and modification of objects' attributes values concept). They were also characterised by code completion actions. From an educational perspective, this behaviour is expected. Indeed, making links between connected and animated 3Dobjects, as metaphors of most of the represented OOP concepts and their coding, should help beginners to understand these concepts and how they are coded. Consequently, the hypothesis that learners should spend time playing with PrOgO to manipulate most of the represented learning concepts is confirmed for a limited number of students (Class-3). This may be due to the fact that students can perform the goal's game both by graphics and by code. They can master easily the interface while focusing only on graphics (Class-2) or on code (Class-4). From an educational perspective, these behaviours might have other values. Further studies are needed to enable this to be identified and assessed. In addition, as a design improvement of PrOgO, further usage scenarios enabling the expected behaviour should be strengthened.

Conclusion

In this work, we have presented the PrOgO microworld dedicated for learning OOP to beginners. We have described our methodology and the results of a study we conducted to investigate learners' behaviours when interacting with the programming concepts represented in this microworld. Our methodology is based on playing analytics, by recording and analysing the interactions of players. We processed a PCA and an AHC in the analysis of data, leading to the characterisation of different groups of learners on the basis of their behaviours when playing with PrOgO. The results showed that the behaviour which is expected from an educational perspective, was triggered by a limited number of students. Behaviours triggered by most students might have other educational values which need to be identified and assessed in further similar studies. Moreover, improvements in the design of PrOgO is needed to strengthen the expected behaviour for which the educational value is known.

The contribution of the paper also consists of the methodology used for the evaluation of the use of PrOgO. This responds to the lack of standardised methodologies for evaluating tools that support computer science education and programming in particular [START_REF] Djelil | Vers une massification de l'apprentissage instrumenté de l'informatique et une intégration des instruments de l'informatique et de leur évaluation[END_REF]. It is also in line with the current concerns of the computer science education research community. Indeed, querying the ACM Digital Library database with the expression "Programming Learning Analytics" returns 16,562 results (query performed in March 2018). We perceive a high interest in this methodology, since it considers a learners' attitudes analysis, instead of collecting learners' points of views or observing their score progression by means of knowledge tests or questionnaires. Moreover, this methodology is an alternative to comparatist approaches: instead of comparing the efficiency of a digital learning environment, we proceed with the analysis of learners' use of the environment.

Figure 1 .

 1 Figure 1. (a) A 3D graphic built with PrOgO representing an Object-Oriented system; (b) and (c) Interactions with objects in PrOgO respectively within its 3D scene and code editor

Figure 2 .

 2 Figure 2. Correlation circle showing the variables defining the axes F1 and F2.

Figure 3 .

 3 Figure 3. Map showing the partition of the participants into 4 groups. Table 4 supplements Figure 3. It shows the percentage of observations for each class and gives the 3-dimensional coordinates of the classes' centroids with respect to the axes F1, F2, and F3.

Table 1 .

 1 PCA input variables.

	PCA Variable	Signification
	NB of Instanciate-Connect	Number of class instantiation and objects connection actions
	NB of setAttributeColor	Number of attribute colour setting actions
	NB of setAttributeRotationAngle	Number of attribute rotation angle setting actions
	NB of callFuncColorFor	Number of calls to the method colorForaDuration()
	NB of callFuncTurnFor	Number of calls to the method turnForaDuration()
	NB of CodeSelection	Number of code selection actions
	NB of CodeCompletion	Number of code completion actions
	Total time	Time spent by the student

Table 2 .

 2 Principal components returned by the PCA.

		F1	F2	F3	F4	F5	F6	F7	F8
	Eigenvalue	2.36	1.48	1.08	1.04	0.79	0.73	0.30	0.22
	Variability (%)	29.45	18.54	13.45	13.03	9.89	9.13	3.69	2.80
	Cumulative %	29.45	47.99	61.45	74.48	84.37	93.50	97.20

Table 3 .

 3 Correlations between the PCA variables and the first three factors.

	Variables	F1	F2	F3
	NB of Instanciate-Connect	-0.75	0.18	0.01
	NB of setAttributeColor	-0.43	0.46	-0.17
	NB of setAttributeRotationAngle	-0.24	0.37	-0.01
	NB of callFuncColorFor	0.39	0.11	0.66
	NB of callFuncTurnFor	0.32	0.36	0.62
	NB of CodeSelection	0.79	0.31	-0.32
	NB of CodeCompletion	0.79	0.29	-0.34
	Total time	-0.18	0.90	-0.03

Table 4 .

 4 Class size and central object coordinates in the subspace (F1, F2, F3).

	Class	Objects (%)	Centroid (F1, F2, F3) *
	1	18.18	(-0.42, -1.83, -0.04)
	2	42.42	(-0.96, 0.13, -0.07)
	3	21.21	(0.21, 0.89, 1.35)
	4	18.18	(2.15, 0.31, -1.08)

* Class central object coordinates in the subspace (F1, F2, F3).

Acknowledgments. The authors would like to thank Jeane Fine for her advice in the statistical analysis, Dominique Moncorgé, Adélaïde Albouy-Kissi and Benjamin Albouy-Kissi for the scheduling of the experiment, and Delphine Huguel for the development of the PrOgO microworld. This work has been financed by the French Ministry of National Education, Higher Education and Research within the Tactileo E-Education project (2013-2016).


Fahima Djelil
email: fahima.djelil@udamail.fr

Adélaïde Albouy-Kissi

Benjamin Albouy-Kissi

Eric Sanchez

Jean-Marc Lavest

Microworlds for Learning Object-Oriented Programming: Considerations from Research to Practice

Keywords: microworlds, object-oriented programming, game based learning, PrOgO

Object-Oriented paradigm is a common paradigm for introductory programming courses.

However, many teachers find that transitioning to teaching this paradigm is a difficult task. To overcome this complexity, many experienced teachers use microworlds to give beginner students an intuitive and rapid understanding of fundamental abstract concepts of Object-Oriented Programming, leading to a more effective learning. Microworlds have thus, become known to be engaging and facilitating complex concepts understanding, however, we know little on the process by which microworlds can be effective for learning, and how they motivate beginners. In this article, we attempt to identify the design principles of microworlds that offer support structures for providing engaging and meaningful learning activities that facilitate programming learning. We will explore individually each design principle, while focusing on its relation to learning and its relevance for learning Object-Oriented Programming. We finally, present PrOgO, a novel programming microworld, we designed on the basis of existing microworlds.

Introduction

Teaching Object-Oriented Programming (OOP) to beginners is widely known to be quite problematic [START_REF] Börstler | Transitioning to OOP/Java -A never ending story[END_REF]. Abstract concepts are the main difficulty students face in learning OOP. The concepts of object and class are the basic concepts that govern the Object-Oriented (OO) paradigm. As a type sets the properties of a variable, a class is often defined as a data structure representing a mold or a template for the object, while the object is an embodiment, a reproducible copy of its class [START_REF] Bersini | L'orienté objet: cours et exercices en UML 2 avec Java 5, C Sharp 2, C++[END_REF]. The basics of OO paradigm comprise also the concept of hierarchical relationships among classes, such as inheritance, which is a mechanism that allows factoring what is common to several classes into one class, in order to reduce the number of treatments.

Students struggle to understand more complex concepts, if they cannot grasp the basic class and object thinking way. Teaching introduction to programming is not about abstract OO concepts and practical programming skills alone, but about the interactions of both. Therefore, a teaching approach without balancing the two sides may not succeed in practice [START_REF] Yan | Teaching object-oriented programming with games[END_REF].

According to [START_REF] Kölling | BlueJ-The Hitch-Hikers guide to object orientation[END_REF], this difficulty of learning is not due to any complexity inner to OOP, but rather is in relation with the teaching methods and materials. They argued that many books authors often do not have teaching experience in the OOP paradigm, and that many development environments are not suited to this paradigm and fail to capture its full potential.

In order to understand how beginner students learn OOP, some computer science education researchers focus their attention on computer science teaching and particularly on teaching introductory programming. There exist many teaching introductory programming approaches, and since the mid-1990s, there has been considerable attention given to teaching OOP early [START_REF] Bennedsen | What does objects-first mean?: An international study of teachers' perceptions of objects-first[END_REF].

The recent literature on introductory programming teaching is directed towards the use of microworlds (e.g., [START_REF] Becker | Teaching CS1 with Karel the robot in Java[END_REF]Cooper, Dann, & Pausch, 2003a;[START_REF] Cooper | Using animated 3D graphics to prepare novices for CS1[END_REF][START_REF] Henriksen | Greenfoot: combining object visualization with interaction[END_REF][START_REF] Xinogalos | An introduction to object-oriented programming with a didactic microworld: objectKarel[END_REF]. There are several reasons underlying interest of training professionals and educators in the use of microworlds. First, there has been a major shift in the field of learning, from a traditional model of instruction to a learner-centered model, emphasizing a more active learner role [START_REF] Garris | Games, motivation, and learning: A research and practice model[END_REF]. A second reason is that some empirical evidence exists that microworlds can be effective tools for enhancing learning and understanding complex programming concepts (e.g., [START_REF] Pears | A survey of literature on the teaching of introductory programming[END_REF][START_REF] Bennedsen | What does objects-first mean?: An international study of teachers' perceptions of objects-first[END_REF]. Third, training professionals are also interested in the involvement and engagement that microworlds can invoke [START_REF] Pears | A survey of literature on the teaching of introductory programming[END_REF].

In brief, the potential of microworlds as tools for training is appealing. However, we know little on the process by which microworlds engage learners, and the types of learning outcomes that can be achieved through microworlds, in fact, few studies exist on the impact of microworlds on learning and education (e.g., [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF][START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF][START_REF] Mavrikis | Sowing the seeds of algebraic generalization: Designing epistemic affordances for an intelligent microworld[END_REF][START_REF] Plass | Multimedia learning with simulations and microworlds[END_REF]. Moreover, there may exists a risk of designing microworlds that neither instruct nor engage the learner. The purpose of this article is to explore the ways by witch microworlds can be relevant in introductory OOP courses. Our goal is to examine the aspects of microworlds that can enhance introductory programming learning.

We focus on the conceptual foundations of microworlds that are of interest from an instructional perspective, and how they affect programming learning.

After introducing microworlds, we will examine each of their design principles. We will provide working definitions for each design principle, with a focus on its relation with learning in general and learning programming in particular. We will also present a novel programming microworld called PrOgO, we designed to help beginner students to learn the basics of OOP in the C++ programming language.

Defining Microworlds

Prior to dealing with these issues, it is useful to provide some definitions of what the term microworld means. According to [START_REF] Bruillard | Les machines à enseigner[END_REF], the term microworld had its genesis in the Winograd's SHRDLU program (Winograd, 1972), which operates within a small area (the SHRDLU's world) to move various basic objects around in it. In the context of computer supported education, this term has been introduced for the first time by [START_REF] Minsky | Artificial intelligence progress report[END_REF] in an internal MIT research report. It has been later popularized by Papert with the LOGO programming language [START_REF] Papert | Mindstorms: Children, computers, and powerful ideas[END_REF], which consists of a set of commands used to control a virtual or a robotic turtle within a small world.

According to [START_REF] Lawler | Computer microworlds and reading: An analysis for their systematic application[END_REF], important functions of a microworld are the creation and manipulation of objects. [START_REF] Papert | Microworlds: Transforming education[END_REF] has described these objects as transitional between the objects that we can manipulate in the real world, and the objects that we know in science. They are a kind of objects that help to manipulate other abstract objects and serve as a link between intuitive learning and formal learning [START_REF] Bruillard | Les machines à enseigner[END_REF]. [START_REF] Bruillard | Les machines à enseigner[END_REF] has provided perhaps the most comprehensive analysis of microworlds, describing a microworld as an artificial world in which the behavior of objects we manipulate adheres to some constraints of fidelity and consistency. The essential idea in this statement is the fidelity and the consistency of a certain model embodied in the microworld. In fact, [START_REF] Bruillard | Les machines à enseigner[END_REF] noted that microworlds establish a strong semantic link between something formal or abstract and something real, simulated or of reference, while maintaining the precise meaning. He proposed to schematize the various constituent parts of a microworld by distinguishing between a real world (a reference world) containing objects that are familiar to the learner, and a formal world (abstract world) containing science objects (see Figure 1). A modeling process or an exemplifying process relates these two worlds. The formal world is considered as a model of the real world, while the real world is an instance of the formal world. The learner can manipulate objects through an interface according to the underlying formal world, and their external aspects visualized through this interface recall the real world. Moreover, the Bruillard's general schema emphasizes the existence of mental models on which microworlds are funded on. [START_REF] Bruillard | Les machines à enseigner[END_REF] describes a mental model as a representation in which symbolic objects behave similarly to the ones contained in the situations where they are represented. These mental models may change through the learner's experience within the proposed environments [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF][START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF][START_REF] Bruillard | Les machines à enseigner[END_REF]. Since microworlds embody a concept, the learner's role is to mentally represent this concept in order to grasp it [START_REF] Bruillard | Les machines à enseigner[END_REF].

Figure 1. The Bruillard's general schema of microworlds [START_REF] Bruillard | Les machines à enseigner[END_REF].

Research and theory of mental models suggest that people form mental models of the physical world in an attempt to successfully understand and interact with the world [START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF]. [START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF] reported three attributes of mental models relevant to microworlds design: a target system, which is the system of interest that comprises the science objects; the user's current mental model of the target system, which describes the person's current understanding of the target system; and a conceptual model of the target system, which is an artificial artifact. This confirms the Bruillard's definition of the microworlds' constituents [START_REF] Bruillard | Les machines à enseigner[END_REF]. By referring to the Bruillard's general schema, the target system would correspond to the formal world, while the conceptual model would correspond to the reference world. [START_REF] Rieber | Multimedia learning in games, simulations, and microworlds[END_REF] has later defined a microworld as an interactive digital environment that enables users to interact with models of situations and phenomena. This environment generates dynamic feedback based on a set of underlying rules, models, or computations as responses to the user's manipulations of objects and parameters [START_REF] Rieber | Multimedia learning in games, simulations, and microworlds[END_REF]. This links up with the definition made by [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF], who considers a microworld as an interactive learning environment, which is a conceptual model of some aspects of the real world. An environment which is usually idealized and simplified, in which learners explore or manipulate the logic, rules, or relationships of the modeled concept, as determined by the designer [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF]. It is therefore, defined as a cognitive tool, which is used as a means to simplify and design models of the real world, allowing students to manipulate and observe constraints and variables individually [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF].

Research into microworlds involves computer-based simulations and games [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF]. However, microworlds, simulations and games are not synonymous, though in some cases they can considerably overlap [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF][START_REF] Rieber | Computers, graphics & learning[END_REF]. Simulations that are not different from real life experience, such as flight training simulators, are considered entirely distinct from microworlds [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF][START_REF] Rieber | Computers, graphics & learning[END_REF]. According to [START_REF] Rieber | Computers, graphics & learning[END_REF], simulations start to become microworlds, when they are designed to let a novice begin to understand the underlying model. In order to take advantage from games, microworlds incorporate usually gaming techniques [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF][START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF]. Microworlds generally provide learners with game design as a way to learn about abstract subjects [START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF]. Learners are equipped to invent highly imaginative games to understand the world [START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF]. We would propose that microworlds contain game and simulation features, but they are neither games, nor simulations.

PROGRAMMING MICROWORLDS 8

We argue in the following sections that there are four key dimensions that characterize microworlds: Metaphors, visualizations, constructivism and gaming. We later present PrOgO which we refer to as a microworld designed to help begginers to learn OOP in C++ programming language.

Programming Microworlds

The earliest and the most well known microworld that was designed to learn programming is LOGO [START_REF] Papert | Mindstorms: Children, computers, and powerful ideas[END_REF]. The LOGO microworld consists of a turtle geometry that allows learners access to principals of programming through interactive graphics. The LOGO statements manipulate a graphical turtle while a visual feedback includes geometric drawings such as lines, circles and squares (see Figure 2). The majority of the programming microworlds that have been developed later are based on the same principle than Logo's system. Their main objective is to reduce the complexity of programming learning for novices. In the context of OOP, computing objects are given some of the properties of physical objects, such as appearance, behavior, and responsiveness to the user's actions, in order to be more easily graspable by novices. Abstract concepts are brought out to the user by means of a direct manipulation interface. Programming microworlds focus on concepts rather than language syntax, and usually use subset of conventional programming languages [START_REF] Cooper | Alice: a 3-D tool for introductory programming concepts[END_REF][START_REF] Buck | Design early considered harmful: graduated exposure to complexity and structure based on levels of cognitive development[END_REF]. Moreover, they tend to engage students in learning programming by allowing them to write programs about games, stories and simulations [START_REF] Cooper | Alice: a 3-D tool for introductory programming concepts[END_REF][START_REF] Henriksen | Greenfoot: combining object visualization with interaction[END_REF]. Representative OOP microworlds are Karel++ and its descendants, Alice and Greenfoot. Karel++ [START_REF] Bergin | Karel++: A gentle introduction to the art of Object-Oriented Programming[END_REF], Karel J Robot [START_REF] Buck | JKarelRobot: a case study in supporting levels of cognitive development in the computer science curriculum[END_REF][START_REF] Bergin | Karel J Robot: A gentle introduction to the art of Object-Oriented Programming in Java[END_REF], and ObjectKarel [START_REF] Xinogalos | An introduction to object-oriented programming with a didactic microworld: objectKarel[END_REF] are programming learning environments that provide a display with a discrete 2D world of a robot called Karel, to which students can assign various programmable tasks (see Figure 3). [START_REF] Buck | JKarelRobot: a case study in supporting levels of cognitive development in the computer science curriculum[END_REF] noted that the power of Karel the robot is its ability to strip away details that are not important to the learned concepts. It rather allows students to build a more intuitive conceptual model [START_REF] Buck | JKarelRobot: a case study in supporting levels of cognitive development in the computer science curriculum[END_REF].

PROGRAMMING MICROWORLDS 10

Alice is a 3D interactive programming environment for building virtual worlds, animations, narrations and games. Alice allows students to populate a 3D virtual world with 3D models of objects, and control their appearance and behavior by writing simple scripts in a drag and drop editor, using drag and drop instructions [START_REF] Cooper | Alice: a 3-D tool for introductory programming concepts[END_REF][START_REF] Conway | Alice: Lessons learned from building a 3D system for novices[END_REF] (see Figure 4). [START_REF] Cooper | Using animated 3D graphics to prepare novices for CS1[END_REF] and [START_REF] Moskal | Evaluating the effectiveness of a new instructional approach[END_REF] reported the use of Alice to teach programming for novices. They emphasized a design and a low number of details the students must master. They argued that working with an easy-to-use 3D graphics environment is attractive and highly motivating to today's generation of media conscious students. They observed that the visual nature and immediate feedback of program visualizations make it easy for students to see the impact of a statement or group of statements. Moreover, the 3D modeled classes and instantiated objects provide a very concrete notion of the concept of an object. Greenfoot is an integrated development environment comprising a 2D world, in which students can place objects and program their behavior to create game scenarios and animations [START_REF] Kölling | The Greenfoot programming environment[END_REF] (see Figure 5). Greenfoot provides an API (Application Programming Interface) that offers a set of functionalities the student can use to create programs to control the animations inside the 2D scene. Greenfoot offers a display that includes a class diagram corresponding to the classes of the graphical objects represented in the 2D scene. A separate editor is also available allowing students to access to an existing code related to the available classes. This enables students to read a well-written code before creating code themselves.

Characterizing Microworlds

Metaphors

Programming microworlds are built on metaphors. By the use of metaphors, programming microworlds intend to bring the abstract concepts of programming closer to the real world, to be more easily graspable by beginners. This leads to decrease the distance between students' mental models and the programming language [START_REF] Xinogalos | An introduction to object-oriented programming with a didactic microworld: objectKarel[END_REF]. In such environments, a program is experienced as a model of some real world phenomenon, in which the concept of object is experienced as something that is active in a small world (a graphical scene), whereas a class is a description of properties and behavior of the object (see [START_REF] Cooper | Alice: a 3-D tool for introductory programming concepts[END_REF][START_REF] Henriksen | Greenfoot: combining object visualization with interaction[END_REF][START_REF] Bergin | Karel J Robot: A gentle introduction to the art of Object-Oriented Programming in Java[END_REF].

According to [START_REF] Travers | Programming with Agents: New metaphors for thinking about computation[END_REF], computation itself is a structuring metaphor and programming models are built on metaphors. This includes the OOP paradigm, in which computational objects are depicted metaphorically in terms of physical and social objects. Like physical objects, they can have properties and state, and like social objects, they can communicate and respond to communications [START_REF] Travers | Programming with Agents: New metaphors for thinking about computation[END_REF].

Historically, OOP arose out of languages designed for simulation, particularly Simula [START_REF] Kirkerud | Object-oriented programming with SIMULA[END_REF] and for novice programming in graphic environments such as Smaltalk [START_REF] Sharp | Smalltalk by example: The developer's guide[END_REF], in which the computational objects represent real-world objects. A standard example is a spaceship, which is modeled by a computational object that has properties like position, orientation and mass, and can perform actions like rotate and accelerate. The OO metaphor explicitly represents relationship between computational structures and real world objects. This has been reflected in the actual OOP microworlds, which make computational objects real for the user, making them appear to have a solid existence, having the properties of physical and tangible objects and being accessible to the actions of the user [START_REF] Conway | Alice: Lessons learned from building a 3D system for novices[END_REF][START_REF] Bergin | Karel J Robot: A gentle introduction to the art of Object-Oriented Programming in Java[END_REF][START_REF] Kölling | The Greenfoot programming environment[END_REF].

PROGRAMMING MICROWORLDS 13

Several studies have been conducted in order to determine the impact of metaphors on learning. [START_REF] Carroll | Metaphor, computing systems, and active learning[END_REF] reported that most educators have often observed that providing students with comparisons can help them learn, and that metaphors serve to codify and communicate new knowledge in a comprehensible way for new learners. In computer science teaching, most important computing developments are funded on metaphors, therefore, explicit metaphors are often used to teach beginner students how to program [START_REF] Mcconnell | Code Complete: A Practical handbook of software construction[END_REF]. In this field, the term metaphor is used not in a narrow linguistic sense, but in the sense of rich and complex metaphoric models [START_REF] Travers | Programming with Agents: New metaphors for thinking about computation[END_REF]. A metaphoric model is defined as a way to structure the knowledge of one domain by mapping onto it concepts and relations from an existing domain that is already familiar [START_REF] Lakoff | Metaphors we live by[END_REF]. Metaphor in this sense, consists of a fundamental way of learning and a structuring conceptual system [START_REF] Lakoff | Metaphors we live by[END_REF].

Since the purpose of metaphoric models is to describe something that is hidden in terms of something visible, metaphors are often taken from the concrete physical world. Metaphors make programming tangible, since they provide students means to understand the abstruse operations of the computer in terms borrowed from more familiar domains [START_REF] Travers | Programming with Agents: New metaphors for thinking about computation[END_REF]. This is almost very useful for learning about concepts which can not be directly perceived. [START_REF] Mayer | Different problem-solving competencies established in learning computer programming with and without meaningful models[END_REF] has experimentally studied the effectiveness of metaphors in teaching programming concepts. He noted that many programming constructs could be learned more easily when they are presented in the context of a concrete metaphor [START_REF] Mayer | Different problem-solving competencies established in learning computer programming with and without meaningful models[END_REF]. He later observed that giving beginners metaphorical models of computer language interpreters, resulted in improved learning compared to a more literal technical presentation [START_REF] Mayer | The psychology of how novices learn computer programming[END_REF]. He concluded that familiarity with the model aids in the assimilation of technical content by giving it a meaningful context.

Another important aspect of programming microworld metaphors is the use of animations, which have proven to be a powerful conceptual tool for analyzing programming paradigms [START_REF] Travers | Programming with Agents: New metaphors for thinking about computation[END_REF]. Animate metaphors are known to be powerful because they are capable of exploiting our knowledge about humans and human actions [START_REF] Travers | Programming with Agents: New metaphors for thinking about computation[END_REF].This allows to think in terms of purpose and functions, and thus to understand a system, without having to know its implementation details.

Visualizations

Programming microworlds are built within a design that explicitly visualizes fundamental concepts of programming in a realistic and a meaningful context. Direct manipulation of graphics representing OO concepts can help students, as in real life, to think in terms of objects.

Students do not typically start by manipulating source code, they rather start by creating objects by selecting graphics (see [START_REF] Cooper | Alice: a 3-D tool for introductory programming concepts[END_REF][START_REF] Kölling | The Greenfoot programming environment[END_REF]. [START_REF] Gilbert | The role of visual representations in the learning and teaching of science: An introduction[END_REF] defined a visualization as a visual representation which can be internal to an individual (known as a mental image or a personal mentally construction), or external (open to inspection by others). He claimed that the existence of all visualizations depends on the operation of metaphor and analogy, since we initially tend to think of something new in terms of something with which we are more familiar. Metaphors and analogies are very used to explain complex concepts or to illustrate processes, since visual metaphors are arguably much more powerful than verbal ones [START_REF] Baldwin | Learning programming using program visualization techniques[END_REF]. According to [START_REF] Gilbert | The role of visual representations in the learning and teaching of science: An introduction[END_REF], representations are the entities with which all thinking is considered to take place. They serve as means to depict the models that we have created so that the individual concerned can perceive what has been done and can share that with others. They are therefore important in the conduct and learning of science [START_REF] Gilbert | The role of visual representations in the learning and teaching of science: An introduction[END_REF].

Visualization is largely used to graphically illustrate various concepts in computer science (e.g., [START_REF] Esteves | OOP-Anim, a system to support learning of basic object oriented programming concepts[END_REF][START_REF] Milne | Ogre: Three-dimensional program visualization for novice programmers[END_REF][START_REF] Moreno | Visualizing programs with Jeliot 3[END_REF][START_REF] Sajaniemi | Animation metaphors for object-oriented concepts[END_REF][START_REF] Osman | Effectiveness of combining algorithm and program animation: A case study with data structure course[END_REF]. The impetus for visualization in computing comes from the inherent abstractness of the basic concepts. OOP paradigm is itself an especially natural foundation for visualization [START_REF] Jerding | Using visualization to foster object-oriented program understanding[END_REF], since it fundamentally involves the manipulation of concrete things: instances, messages, methods, and so on. Thus, building visualization for OO concepts follows naturally from their correspondence to a visual representation. By making these concepts more concrete, graphical representations help to better understand how they work. [START_REF] Naps | Exploring the role of visualization and engagement in computer science education[END_REF] claimed that using visualizations can positively impacts learning and thus help students to learn computing concepts. [START_REF] Henriksen | Greenfoot: combining object visualization with interaction[END_REF] have moreover observed that visualization and interactivity in a learning environment allow experimentation, generate curiosity, and thus create student engagement.

Programming microworlds are developed with a view to make programming more accessible to novices, enabling learners to program by building and manipulating animated visual representations of programming concepts. To make computational objects real for novices, who have not yet developed the skills to mentally visualize them. Objects are reified so that the result of command execution is visible as the position, size, rotation, and other visible state and behavior of the object changes (see [START_REF] Cooper | Alice: a 3-D tool for introductory programming concepts[END_REF][START_REF] Xinogalos | An introduction to object-oriented programming with a didactic microworld: objectKarel[END_REF][START_REF] Kölling | The Greenfoot programming environment[END_REF]. The purpose of such design is to allow the user to think of computational objects as identical with their graphic representations, and thus to structure a correct understanding of what programming concepts consist of. and programming. He suggested that OO knowledge must be actively constructed by learners, rather than being passively transmitted by teachers. Program development must be guided by OO concepts, rather than language technicalities, and traditional modes of teaching such as lectures, must be replaced by a set of activities where the students are actively engaged in the knowledge being constructed. The activities must focus around a set of realistic and intrinsically motivating problems. These principles fit into the goals of microworlds, constructivism is therefore one of their instructional pillars.

Gaming

Another feature of microworlds is their incorporation of gamelike elements. Nowadays, games become popular implementations of microworlds (Cooper, Dann, & Pausch, 2003a;[START_REF] Rieber | Multimedia learning in games, simulations, and microworlds[END_REF][START_REF] Kölling | The Greenfoot programming environment[END_REF][START_REF] Plass | Multimedia learning with simulations and microworlds[END_REF]. The belief is that students' familiarity with games can be used to motivate computer science learning and attract future generations of computer scientists [START_REF] Tapia | Building virtual spaces[END_REF]. Usually, in the context of OOP microworlds, learners are provided with game design as a way to learn about abstract programming concepts. Examples of OOP microworlds that use game design and building as a learning activity are typically Alice [START_REF] Conway | Alice: Lessons learned from building a 3D system for novices[END_REF] and Greenfoot [START_REF] Kölling | The Greenfoot programming environment[END_REF], which allow students to create game scenarios by making programs.

Characteristics of games may provide some practical means of meeting the assumptions of a successful microworld. One important characteristic of microworlds is a design principle that provides learning activities that are intrinsically motivating [START_REF] Papert | Mindstorms: Children, computers, and powerful ideas[END_REF]. Games represent the instructional artifacts most matching this characteristic [START_REF] Garris | Games, motivation, and learning: A research and practice model[END_REF].

Motivational researchers have linked intrinsic motivation to a number of other characteristics. [START_REF] Malone | What makes computer games fun?[END_REF] proposed that the primary factors that make an activity intrinsically motivating are challenge, curiosity, and fantasy. Such characteristics are widely applied in the design of instructional games [START_REF] Garris | Games, motivation, and learning: A research and practice model[END_REF][START_REF] Dondlinger | Educational video game design: A review of the literature[END_REF]. Fantasy is used to encourage learners to imagine that they are completing activities inside an imaginary world having no impact on the real world [START_REF] Garris | Games, motivation, and learning: A research and practice model[END_REF]. Challenge and curiosity closely conform to the process of equilibrium [START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF]. When confronted with a problem without an immediate solution, a learner will seek resolution if a solution seems possible.

Learners are challenged by activities that are neither too easy nor too difficult. Feedback can also easily be provided in order for learners to quickly evaluate their progress against the established game goal [START_REF] Garris | Games, motivation, and learning: A research and practice model[END_REF][START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF].

Games have also the potential to meet the microworld's goal of constructivism learning approach. As stated by several authors: Constructivist learning theory can be guided using games [START_REF] Papert | Mindstorms: Children, computers, and powerful ideas[END_REF]; by building games, students learn programming within a constructivist approach [START_REF] Kafai | Playing and making games for learning instructionist and constructionist perspectives for game studies[END_REF]. Students are actively engaged in discovering and building their own understanding of new concepts and skills, when they design their own programs to create games. Therefore, games provide a good environment for promoting different aspects of microworlds including active learning, self-regulation and intrinsic motivation.

PrOgO: a novel microworld for learning Object-Oriented Programming

PrOgO is a programming microworld, which is based on a constructive game metaphor for learning the basics of OOP in C++ programming language for beginners. We initially referred to the experimental prototype of PrOgO as a 3D virtual game, since it is based on a constructive game metaphor (see [START_REF] Djelil | Towards a 3D virtual game for learning Object-Oriented Programming fundamentals and C++ launguage[END_REF]. However, PrOgO does not sufficiently incorporate game elements such as high levels of fantasy, mystery and challenges. It is rather designed as a programming microworld, which aims to help students to access easily to the conceptual model triggering the OOP paradigm.

The PrOgO gaming objective is to build and animate 3D graphical robots or mechanical structures, whereas each 3D elementary graphic corresponds to a computing object. Based on the principle that a computing object is an active entity within a program, including a set of attributes (knowledge) and methods (skills) that act to achieve some functionalities that constitute the program's objectives, we assume that a constructive game metaphor would be relevant to introduce OOP concepts to beginners. Like a physical block, a computing object has attributes that define its appearance (a position specified in x, y, z coordinates, a rotation, a translation and a color). Like a constructive game piece, a computing object can be connected to another one, to constitute a more complex structure that has enough skills and knowledge to be able to perform actions in a giving environment.

PrOgO provides students with a direct manipulation interface comprising realistic graphics representing OOP concepts, to help them to think about objects as in real life. Students can create objects, visualize their state and behavior, interact with them by changing the values of their attributes, executing their methods and make them communicate with one another. In order to help beginners understanding more easily the implementation of abstract concepts in a specific syntax such as C++, PrOgO interpretes into source code, all the manipulations executed directly on the 3D graphics. Since the visual representations are very close to the abstract concepts, each student's action is automatically interpreted into a C++ statement. This will constitute a complete program that the student can visualize and modify in order to practice programing.

PROGRAMMING MICROWORLDS 20

The PrOgO interface (see Figure 6) comprises, in its center, a 3D scene in which there is permanently a 3D block called base, providing a construction base to witch objects that are being created will be linked. On the lower left corner of the interface, there is the window Classes, which comprises all the 3D elementary blocks a student can instantiate to obtain objects. The top left of the interface displays the tree structure of the objects that have been created and assembled to each other. A code completion editor is anchored on the right side of the 3D scene, to display the C++ code that is being generated during the direct manipulations of the graphics, and allow students to implement the addressed concepts, while avoiding syntax errors. Once an object is created and placed into the 3D scene, the student can view all its attributes and methods.

Once an attribute value is changed, or a method is executed, its result on the state of the object is immediately visualized and the corresponding C++ code is automatically generated. Similarly, once a statement is completed in the code editor its result on the concerned object is immediately visualized in the 3D scene.

Conclusion

Microworlds are cognitive learning tools that are used to promote abstract concepts understanding. They are small, interactive, and contain programmable models of real world environments. They are engaging and appealing for students learning based on constructivist principles: Active participation, individual knowledge construction, discovery and meaningful learning contexts. Microworlds are based on knowledge visualizations that aim at augmenting communication via graphics means that mediate knowledge through metaphors. In the context of OOP, they expand beyond programming languages to allow learners to explore and build models through the direct manipulation of objects on screen. They include game design elements promoting intrinsic motivation, self-regulation and active learning.

Research suggests that strategies involving active learning by the use of metaphors, visualizations, and gaming are excellent ways for people to explore a domain in rich and meaningful ways [START_REF] Rieber | Seriously considering play: Designing interactive learning environments based on the blending of microworlds, simulations, and games[END_REF][START_REF] Carroll | Metaphor, computing systems, and active learning[END_REF][START_REF] Naps | Exploring the role of visualization and engagement in computer science education[END_REF]. These attributes constitute the pillars that guide the design of microworlds in which they are carefully blended.

Such design provides an effective learning strategy that allows students to master learning concepts, increase their motivation and optimize the ownership of knowledge.

This study allowed to throw light upon the potential of microworlds in introducing OOP concepts, and their learning effectiveness by exploring their design foundations. We concluded that the power of microworlds as learning environments, lies on their design principles that are very rich, leading to an effective learning.

Microworlds succeed as learning environments in introductory OOP courses, since they foster the individual construction of a correct mental model of what is OOP paradigm. This occurs, as microworlds use concrete metaphors that have the potential to help novices to perceive very easily abstract and complex concepts. Using visualizations helps students to think of computational objects as identical with their graphic representations. This is mainly what allows to reify the metaphoric model witch dictates the OOP paradigm, that becomes more easy to be graspable by novices.

Moreover, microworlds succeed as engaging environments, as they incorporate gamelike elements. Games offer many advantages to microworlds design by having the potential to meet most of microworlds' objectives. Games provide characteristics of intrinsic motivation and foster the constructivist nature of microworlds.

Ultimately, this study allowed us to identify significant mediating variables in the design of a new microworld. It was therefore critically important, to choose the right metaphor that can allow beginner students to access easily the conceptual model of the OOP paradigm, and thus to be engaging and effective in introductory OOP courses.

Figure 2 .

 2 Figure 2. Examples of LOGO statements.

Figure 3 .

 3 Figure 3. The Karel J Robot microworld.

Figure 4 .

 4 Figure 4. The Alice 2 microworld.

Figure 5 .

 5 Figure 5. The Greenfoot microworld.

Figure 6 .

 6 Figure 6. The PrOgO main window.

Acknowledgement

This work has been financed by the French Ministry of National Education, Higher Education and Research within the Tactileo project. The authors would like to thank Delphine Huguel for her work in the development of PrOgO.

This research was supported by the French ministry of National Education, Higher Education and Research within Tactileo project

Constructivism

Microworlds are based on the constructivist learning theory, as indicated by several authors : Microworlds represent an immediate application for the infusion of constructivism into instructional design [START_REF] Rieber | Computer-based microworlds: A bridge between constructivism and direct instruction[END_REF]; microworlds are interactive environments in which we can learn about a specific domain through personal discovery and exploration [START_REF] Papert | Mindstorms: Children, computers, and powerful ideas[END_REF]; the power of microworlds as learning tools is based in the philosophy of constructivism [START_REF] Bliss | Tools for exploratory learning: A research program[END_REF].

Constructivism assumes that we learn best when we actively construct ideas and relationships in our minds based on experiments we do, rather than being told [START_REF] Nix | Cognition, education, and multimedia: Exploring ideas in high technology[END_REF], and that we learn with particular effectiveness when we are engaged in constructing personally meaningful physical artifacts [START_REF] Prensky | Computer games and learning: Digital game-based learning[END_REF]. Constructivism essentially consists of the idea that learning involves individual constructions of knowledge. Microworlds push this responsibility further by helping learners to determine the correctness of their own solutions, rather than reserving this responsibility for a teacher [START_REF] Hogle | Computer microworlds in education: Catching up with Danny Dunn[END_REF]. Microworlds succeed in that, since they offer a graphic and quick feedback leading to self-correction.

Microworlds rely on constructivism, since they are based on visualizations applying metaphors that help novices to construct knowledge and skills by themselves. As it was claimed by [START_REF] Carroll | Metaphor, computing systems, and active learning[END_REF], metaphors' primary function is to stimulate active learning. The use of metaphors facilitate active learning by providing clues for logical inferences through which learners construct their knowledge. Microworlds are therefore, intrinsically based on constructivism.

All this is in concordance with the proposition made by [START_REF] Hadjerrouit | Object-oriented software development education: a constructivist framework[END_REF], who has defined a pedagogical framework rooted in a constructivist epistemology for teaching OO design


J Sliwa
email: jsliwa@rockefeller.edu

W A Freiwald
email: wfreiwald@rockefeller.edu

A Dedicated Network for Social Interaction Processing in the Primate Brain

Primate cognition requires interaction processing. Interactions can reveal otherwise hidden properties of intentional agents, such as thoughts and feelings, and of inanimate objects, such as mass and material. Where and how interaction analyses are implemented in the brain is unknown. Using whole-brain functional magnetic resonance imaging in macaque monkeys, we discovered a network centered in the medial and ventrolateral prefrontal cortex that is exclusively engaged in social interaction analysis. Exclusivity of specialization was found for no other function anywhere in the brain. Two additional networks, a parieto-premotor and a temporal one, exhibited both social and physical interaction preference, which, in the temporal lobe, mapped onto a fine-grain pattern of object, body, and face selectivity. Extent and location of a dedicated system for social interaction analysis suggest that this function is an evolutionary forerunner of human mind-reading capabilities.

Recognizing physical objects and intentional agents, their actions, and their interactions is essential for understanding the world around us (Fig. 1A) [START_REF] Heider | An experimental study of apparent behavior[END_REF][START_REF] Ambady | Toward a histology of social behavior: Judgmental accuracy from thin slices of the behavioral stream[END_REF][START_REF] Spelke | Core knowledge[END_REF]. Monkeys recognize social interactions and their meaning quickly and effortlessly; they understand grooming, play, and fight, infer social rank from interactions, and use this knowledge to recruit allies [START_REF] Cheney | Social relationships and social cognition in nonhuman primates[END_REF][START_REF] Bergman | Hierarchical classification by rank and kinship in baboons[END_REF]. Monkeys also understand that colliding objects exchange forces and make use of gravity and trajectory cues to search for falling food [START_REF] Santos | Core Knowledges': a dissociation between spatiotemporal knowledge and contactmechanics in a non-human primate?[END_REF][START_REF] Hood | Gravity biases in a non-human primate?[END_REF]. Understanding interactions is a core cognitive component in primates [START_REF] Spelke | Core knowledge[END_REF][START_REF] Grahe | The Importance of Nonverbal Cues in Judging Rapport[END_REF]). Yet little is known about the neural circuitry that underlies interaction processing. To chart the brain regions that process social and physical interactions, we presented naturalistic videos during whole-brain functional magnetic resonance imaging (fMRI) to four rhesus monkeys (supplementary materials, materials and methods). We used six main types of videos: (i) social interactions between monkeys, (ii) physical interactions between objects, (iii) monkeys engaged in independent goal-directed behaviors, (iv) objects moving independently, (v) non-acting monkeys, and (vi) stationary objects, along with low-level motion control and natural complex scene videos (Fig. 1B, movies S1 and S2, and materials and methods). Real-world videos were chosen to maximize cognitive engagement. For data analysis, we controlled for eye movements and visual motion energy through nuisance regression in the generalized linear model (GLM) and inspected several other behavioral features (figs. S1 and S2 and materials and methods). Brain activity for agents' shape, actions, and social interactions and for objects' interactions was defined as compared with matched control conditions with conjunction analyses (Fig. 1C and materials and methods).

Temporal and prefrontal cortices contain areas selective for specific categories of visual shape such as faces, bodies, or objects [START_REF] Kanwisher | Functional specificity in the human brain: A window into the functional architecture of the mind[END_REF][START_REF] Tsao | Faces and objects in macaque cerebral cortex[END_REF][START_REF] Pinsk | Representations of faces and body parts in macaque temporal cortex: A functional MRI study[END_REF] and for shapes of particular categories set in motion [START_REF] Jastorff | Integration of shape and motion cues in biological motion processing in the monkey STS[END_REF][START_REF] Fisher | Contrasting specializations for facial motion within the macaque faceprocessing system[END_REF][START_REF] Russ | Functional MRI mapping of dynamic visual features during natural viewing in the macaque[END_REF]. Because interactions reveal hidden features of agents and objects (for example, object mass and material during collision), some agent/object category or agent/ object-motion selective areas might be specifically engaged by interactions. We therefore first mapped canonical face, body, and object patches with a standard localizer (Fig. S3A) [START_REF] Tsao | Faces and objects in macaque cerebral cortex[END_REF] and then measured responses to naturalistic videos. Videos of inactive, active, and interacting monkeys all engaged classical face and body areas in the superior temporal sulcus (STS) and prefrontal cortex [P < 0.01, false discovery rate (FDR) corrected for multiple comparisons] (Fig. 2A and figs. S5 and S6) [START_REF] Russ | Functional MRI mapping of dynamic visual features during natural viewing in the macaque[END_REF], and naturalistic videos of still, moving, and colliding objects activated regions overlapping with object patches. Region of interest (ROI) analysis revealed that category-selective areas differentiate between interaction types: agent-object interactions (agents performing goal-directed actions directed at objects compared with non acting agents) recruited body patches but not face patches [with the exception of face area prefrontal orbital (PO) and face-motion area middle dorsal (MD) [START_REF] Fisher | Contrasting specializations for facial motion within the macaque faceprocessing system[END_REF]; face area middle fundus (MF) showed even less activation] (Fig. 2B); social interactions recruited both face and body patches (Fig. 2C andD); and object-object interactions selectively recruited part of object patches only [for all, Student's t tests, Holm-Bonferroni corrected for multiple comparisons by using family-wise error (FWE) rate at P < 0.05] (Fig. 2D). Thus, interaction-preference followed the fine-grain spatial organization for object categories: Even directly neighboring face and body areas differentiated between interaction types composed of the same category elements, faces and bodies.

Social and physical interactions engaged two additional areas, none of which were activated by non-interacting stimuli (agents or objects). These areas were located outside regions selective for faces, bodies, or objects discussed above: One area was located in the posterior portion of anterior intra parietal area (pAIP), and one in premotor area F5 (Student t-test, P < 0.01 FDR voxel-wise) (Fig. 2E and figs. S5 and S6). Both areas were activated by agentobject interactions (Fig 2E) but also by object-object interactions, and even more strongly by social interactions (Fig. 2, F andG). Both areas did not respond to movies of inactive monkeys (Fig. 2A) nor to independently moving objects, further emphasizing their interaction-selectivity. Social and physical interaction representations overlapped in F5, but occupied neighboring locations within pAIP (Fig. 2F to H). The anterior part of pAIP appeared even more activated by physical than any other type of interaction (Fig. 2H). The parieto-frontal cortex contains the mirror neuron system (MNS) [START_REF] Rizzolatti | The mirror-neuron system[END_REF]. The classical MNS can be mapped in monkeys with fMRI by using videos of humans grasping objects [START_REF] Nelissen | Observing Others: Multiple Action Representation in the Frontal Lobe[END_REF]. When mapping the MNS in this way (fig S3B, Movie S3), it co-localized with pAIP and F5 interaction areas (Fig. 2E-H). The MNS is thus engaged by three very different kinds of interactions, including the one it had been known for. If the MNS supports understanding of another agent's actions upon objects [START_REF] Rizzolatti | The mirror-neuron system[END_REF], then by extension these findings imply a general role of the MNS for social and physical world understanding.

As social-cognitive species, primates understand the social interactions of others [START_REF] Cheney | Social relationships and social cognition in nonhuman primates[END_REF][START_REF] Bergman | Hierarchical classification by rank and kinship in baboons[END_REF]. Social interactions, but not physical ones, activated a large set of brain regions beyond the category-selective networks and the MNS (Fig. 2, I to N). This social-interaction network (SIN) included parts of the medial prefrontal (mPFC) and anterior cingulate cortex (ACC) (areas 32 and 10mr and 24b respectively), dorsomedial prefrontal cortex (dmPFC) (areas F6 or Pre-SMA, 8Bm, and 9m), a temporo-parietal cluster (areas TPOc and 7a), parts of the ventro-lateral prefrontal cortex (vlPFC) (ventral part of F5, ventral part of 44, the posterior part of 47 and 12, and OPro), temporal pole regions (TPOi, STS areas 1 and 2, and TPpro), the perirhinal cortex (36R), dorsal STS areas (social posterior dorsal (sPD) and social anterior dorsal (sAD), located dorsally to the posterior lateral (PL) and anterior fundus (AF) face patches, and anterior dorsal (AD), a face patch located dorsally to face patch AF), and cortical and subcortical systems engaged in reward, valence, and emotional processing [caudate; amygdala; and areas 10o, 11l and 14r of the orbitofrontal cortex (OFC)] (fig. S5, A andD, andS6, A andD).

Large parts of the SIN network were exclusively selective for social interactions and did not respond to any other stimulus condition in the context of the present design. Areas of this exclusively social interaction network (ESIN) included a cluster in mPFC, ACC, and dmPFC; a cluster in vlPFC; area 7a in the inferior parietal lobule; and OFC areas 10o and 14r (Fig. 3, A andC, and fig. S5, A andE, and S6, A and E). The ESIN was even deactivated in all but the social interaction conditions (Fig. 3D). We did not find such exclusivity of functional specialization for any other stimulus category anywhere in the brain. However, the joint characteristic of the ESIN-social cognition focus and general deactivation during visual stimulation-bear resemblance to the human theory of mind (ToM) and the human default mode network (DMN) [START_REF] Gallagher | Functional imaging of "theory of mind[END_REF][START_REF] Mars | On the relationship between the 'default mode network' and the 'social brain[END_REF]. Curiously, ToM and DMN intersect in the human brain at regions of quite plausible homology to ESIN areas of the macaque brain. Thus the macaque ESIN shares functional and anatomical characteristics of human ToM and ESIN (Fig. S4).

We found three networks engaged in interaction analyses, each with distinct functional characteristics and internal organization. Are there overarching principles of organization for all areas processing interactions? We conducted principal component analysis (PCA) across the different movie categories on 43 regions of interest (Fig. 4, A andC). The areas in this space could be grouped into object, body, and face patches and classical MNS, SIN (without the ESIN), and ESIN. This analysis, as well as an analysis of correlation distances to the classical MNS and ESIN (Fig. 4B), showed a greater similarity of face patches to the ESIN than of any other ROIs. Because of their functional homogeneity, we then performed PCA in each of the six aforementioned groups of brain areas across the same stimulus conditions (Fig. 4D). SIN and ESIN separated the social interaction condition from all others along PC1. They did not differentiate the other two agency conditions ("acting" and "non acting") along this dimension. Both properties were shared by the face patches (Fig 4D). The body patches, instead, separated all three agency conditions along PC1 and the three object conditions jointly along PC2 and PC1. This functional similarity suggests that face patches are putative entry points to the SIN and ESIN. Body and object patches turned out to be functionally related to the MNS (Fig. 4, A, B andD). It has been proposed that the MNS might provide inputs to the ToM network in humans [START_REF] Blakemore | From the perception of action to the understanding of intention[END_REF]. Functionally, however, the MNS differed substantially from the SIN and ESIN and was more similar to object and body patches, while the SIN and ESIN were closer to face areas (Fig. 4, A, B andD). Therefore, interaction analysis by two streams-already segregating inside the STS and feeding into the classical MNS and SIN, respectively-with different functions is the most plausible model for the organization of high-level world-processing in the primate brain.

Visual analysis of interactions is a computationally daunting problem: Each interaction generates a complex spatio temporal flow pattern, each interaction category consists of many different such patterns, and even the smallest change to a pattern can change an interaction's meaning. Yet primates understand the meaning of interactions effortlessly. To meet these computational challenges, which are even more demanding than those of invariant object recognition, a neural machinery at least as extensive as that for object recognition seems necessary. Our finding that large parts of shape-selective STS are interaction-selective and that the fine-grain pattern of interaction selectivity closely follows that of shape selectivity provides a possible answer to the puzzle of where visual interaction analysis takes place: The same machinery may perform both shape and interaction analyses, possibly parsing different results into MNS and SIN. This organization is markedly different from how motion activates the same region [START_REF] Fisher | Contrasting specializations for facial motion within the macaque faceprocessing system[END_REF][START_REF] Russ | Functional MRI mapping of dynamic visual features during natural viewing in the macaque[END_REF] and reveals how deeply interaction analysis is ingrained in visual circuitry.

The MNS is thought to add depth to the processing of agent-object interactions by uncovering motor intentions behind observed object-directed actions and to do so through a process of simulation [START_REF] Rizzolatti | The mirror-neuron system[END_REF]. Our results of broad MNS involvement across physical and social interactions can be parsimoniously interpreted by extension; the MNS would uncover through causal model simulations the hidden properties of physical objects and intentional agents and automatically reveal the wide set of affordances [action possibilities [START_REF] Gibson | The Ecological Approach to Visual Perception[END_REF]] they offer for online engagement. The MNS would, according to this scenario, not just function in motor intention processing but play a major role in supporting general core cognitive functions of intuitive physics and psychology.

We report the existence of large regions of the monkey brain exclusively engaged in social interaction analysis. The monkey ESIN parallels properties of DMN [START_REF] Mars | On the relationship between the 'default mode network' and the 'social brain[END_REF] and ToM systems in humans [START_REF] Gallagher | Functional imaging of "theory of mind[END_REF] and even occupies locations very similar to regions of intersection of human DMN and ToM. Because of the known role of ToM areas in social theory driven deductions [START_REF] Gallagher | Functional imaging of "theory of mind[END_REF][START_REF] Olson | The Enigmatic temporal pole: a review of findings on social and emotional processing[END_REF], some parts of the monkey ESIN might play a role in elaborating, storing, and comparing species-specific socio-emotional scripts stipulating rules of social conduct (4, 5), whereas other parts might deduce inferences about other agents' mental, emotional, and intentional states that explain their observed interactions.

The results of this study reveal a new dimension of tuning and functional organization of the STS, redefine the role of the mirror neuron system, and uncover the existence of a new highlevel social cognition network with deep evolutionary heritage. Task design and hypothesis (A) Hypothesized cognitive steps occurring when watching social interactions. (i) Processing agents' shape, (ii) processing action, (iii) processing interaction. (B) Classes of videos used for stimuli and controls that monkeys could freely watch during the experiment. (C) Schematics of the contrasts (arrows between non blurred images) used in conjunction to identify brain activity related to four main conditions: agents, action, social interaction, and physical interaction. Pictures are presented in the same order as in (B). Significant activation is found in the parietal and premotor cortices in addition to the STS, in regions that overlap with classical MNS areas independently identified (fig. S3B). (F) Brain activity for social interactions compared with agents and landscapes and scramble controls shows a similar overlap. (G) Brain activity for physical interactions compared with objects moving independently and landscapes and scramble controls shows a similar overlap. (H) Overlaid activations for action, social interaction and physical interaction contrasts showing MNS recruitment by different types of interactions. (I) Statistical map of enhanced activation for the social interaction contrast [same conventions as in (A)] showing an extended network of regions significantly active for watching social interactions. Significant activation is found in the medial and dorsomedial prefrontal cortices (mPFC and dmPFC), in the ventrolateral prefrontal cortex (VLPFC), in the temporal pole (TP), and in parietal areas (7a), in addition to activation in the STS and in the parietal and premotor cortices. (J) Same map presented on anterior ("A"), dorsal ("D"), medial ("M"), ventral ("V") and posterior ("P") views of the flattened F99 cortical model of the right hemisphere, with black regions signifying not-represented non cortical parts of the brain. (K-N) Corresponding activations in subcortical areas (Amg BL/BM, BM, and Ce; Cd, caudate) displayed on coronal slices of the MNI-Paxinos template brain in radiological convention (left in figure is the right side of the brain). Coordinates are relative to interaural line. Cortical results are masked for display purposes.

Fig. 1 .

 1 Fig. 1.

Fig. 2 .

 2 Fig. 2. From agents to actions to interactions. (A) Statistical map of enhanced activation for the Agents contrast. Shown is an inflated F99 cortical model of the right hemisphere, with dark gray regions representing sulci, light gray regions representing gyri (P < 0.01, FDRcorrected for multiple comparisons). The fMRI signal is enhanced in regions of the STS and frontal cortex that overlap with face and body patches independently identified (fig S3A). (B) Agent-object interactions assessed with the contrast (actions > agents) show enhanced activation of the body but not face patches. Bar plots are normalized signal changes for the contrast. Errorbars represent SD (* P < 0.05; ** P < 0.01; *** P < 0.001, all other comparisons are not significant, Holm-Bonferroni corrected for multiple comparison). (C) Same as (B). Agent-agent interactions assessed with the contrast (social interactions > actions) show both body and face patches enhanced activation. (D) Same as (B). Objectobject interactions assessed with the contrast (physical interactions > social interactions) show that only object patches are more activated by physical than social interactions. (E) Statistical map of enhanced activation for the action contrast [same conventions as in (A)].

Fig. 3 .

 3 Fig. 3. A network of regions exclusively active for watching social interactions in the monkey brain. (A) Statistical map of enhanced activation for the social interaction contrast, with same conventions as in Fig.2. Black lines outline areas exclusively activated by videos of social interactions only and deactivated or not activated by any other visual stimulation. (B) Statistical map for regions exclusively activated by videos of social interactions (orange to yellow) and overlaid for comparison statistical map for the Action contrast (dark to light blue), on flattened and inflated views, with same conventions as in Fig 2. Activation for these two conditions appear close but are segregated in the parietal and VLPFC. Black circles indicate location of example ROIs defined with the social interaction contrast (7a, 32, and 9m are example areas of the ESIN, and TPv is an example area of the SIN). (C) Bar plots represent percent of fMRI signal change in those ROIs for all stimulus conditions. Conditions' color code presented is presented at the bottom; pictures are presented in the same order as in Fig 1B. Errorbars represent SD (* P < 0.05; ** P < 0.01; *** P < 0.001; all other comparisons are not significant; Holm-Bonferroni corrected for multiple comparison).

Fig. 4 .

 4 Fig. 4. Multiple social networks in the primate brain. (A) PCA of each area as a function of its mean activity to each condition of the main interaction paradigm. Colors and dashed contours indicate each brain area's identity. Areas that are defined independently of the main task (object patches, face patches, object patches, or MNS) tend to cluster separately. A gradient of similarity mainly along the first principal component (PC1) goes from the object patches to the MNS to the body patches to the SIN and the ESIN. (B) Correlation distance of the object patches (green), face patches (yellow), and body patches (magenta) to the MNS (from left to right; blue arrow) and to the ESIN (from bottom to top; black arrow) based on their mean activity to the conditions of the task. Object and body patches are more closely related to the MNS, whereas face patches are more closely related to the ESIN. (C) Anatomical distances between areas displayed on a flat map of the monkey brain, provided for comparison with the PCA showed in (A), demonstrate that STS areas that appear interleaved anatomically are demixed functionally in response to the task conditions. (D) PCAs and dendrograms representing each condition (color code and legends to the right) as a function of its mean activity in each patch of the group. Spatial arrangements and tree clustering show a progressive separation of the physical interactions and social interactions respectively moving from the object patches (left) to the ESIN (right).

Science. Author manuscript; available in PMC 2017 August 02.

Acknowledgments

This work was supported by a Human Frontier Science Program Long-Term Fellowship (LT000418/2013-L, to J.S.), a Fondation pour la Recherche Médicale Post-doctoral fellowship (SPE20120523854, to J.S.), a Women&Science Post-doctoral Fellowship (to J.S.), a Bettencourt-Schueller Foundation Young Researcher Award (to J.S.), and a Dorothy-Leet/Association Francaise des Femmes Diplomees des Universites award (to J.S.), the Center for Brains, Minds and Machines funded by the National Science Foundation STC award CCF-1231216, the Kavli Neural Systems Institute at The Rockefeller University, the National Institute of Mental Health of the National Institutes of Health (R01MH105397, to W.A.F.), the McKnight Foundation (to W.A.F.), the Pew Charitable Trust (to W.A.F.), the National Eye Institute of the National Institutes of Health (R01 EY021594 to W.A.F.) and The New York Stem Cell Foundation (to W.A.F.). W.A.F. is a New York Stem Cell Foundation -Roberston Investigator. The content is solely the responsibility of the authors and does not necessarily represent the official views of the National Institutes of Health. We thank A. Ebihara, M. Fabiszak, C. Fisher, R. Huq, S.M. Landi, S. Sadagopan, C. M. Schwiedrzik, S.V. Shepherd, and W. Zarco for help with animal training, data collection, and discussion of methods; C. Fisher and C. M. Schwierdzik for communicating coordinates of areas MD, TPO, PGm and dMPFC; D. Amaral and C.J. Machado for sharing video material; E. Kirsch, S.M. Landi, and S.V. Shepherd for help with stimulus preparation; B. Deen for comments on the manuscript; L. Diaz, A. Gonzalez and S. Rasmussen for veterinary and technical care. Data are available from the Dryad Digital Repository: Dryad Digital Repository: http://dx.doi.org/10.5061/dryad.321kr

Supplementary Material

Refer to Web version on PubMed Central for supplementary material.