Computing students learning computing informally - Semantic Scholar

2 downloads 2104 Views 156KB Size Report
[email protected]. ABSTRACT. In this paper we present background and early results from an investigation of how computing students learn computer.
Computing Students Learning Computing Informally Robert McCartney

Anna Eckerdal

Jan Erik Moström

Department of Computer Science and Engineering University of Connecticut Storrs, CT USA

Department of Information Technology Uppsala University Uppsala, Sweden

Department of Computing Science Umeå University 901 87 Umeå, Sweden

[email protected]

[email protected]

Kate Sanders

Lynda Thomas

Math/CS Department Rhode Island College Providence, RI USA

Department of Computer Science Aberystwyth University Aberystwyth, Wales

[email protected]

[email protected] ABSTRACT In this paper we present background and early results from an investigation of how computing students learn computer science topics through informal means, that is, outside of organized classes. We provide some overall perspective by discussing the variety of research areas that fall under the general “informal learning” name. From there we propose specific research questions that concern what the students learn, what resources they bring to bear, what strategies they employ, and how they evaluate their progress. Preliminary results indicate that students primarily learn specific technologies, and that both their motivation and evaluation are closely tied to projects (at school, work, or home).

Keywords informal learning, self-directed learning

1.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Koli Calling ‘10, October 28–31, Koli, Finland Copyright 2010 ACM 978-1-4503-0520-4/10/10 ...$10.00.

Carol Zander Computing & Software Systems University of Washington Bothell Bothell, WA USA

[email protected]

programming languages, tools, or software packages. In the 1980s, it might have been emacs or LaTeX; now it is most often a web-related technology such as PHP or ActionScript. Informal learning can be broadly defined as learning outside of organized classes. Knowles’ definition of self-directed learning may be more useful, as it is more specific about what informal learning entails: a process in which individuals take the initiative, with or without the help of others, in diagnosing their learning needs, formulating learning goals, identifying human and material resources for learning, choosing and implementing appropriate learning strategies, and evaluating learning outcomes. [14, p. 18, as quoted in [9]] Based on the Knowles definition, we pose the following research questions: 1. How do computing students diagnose their learning needs and formulate learning goals? That is, what do they think they need to learn, and why?

INTRODUCTION

Given the rapidly changing nature of computing, we know that our students will have to continue learning after they graduate. Given individual needs, deadlines, and other commitments, not all of this learning can be done in formal ways such as traditional courses or professional development workshops: computer scientists need to learn in informal ways on their own initiative. Many of our students have already begun learning informally. We have substantial anecdotal evidence of undergraduate computing students voluntarily learning computingrelated topics on their own, outside the requirements of their degree programs. This is often in the context of particular

[email protected]

2. How do they identify resources to help them learn, and what resources do they use? 3. What strategies do they choose? 4. How do they evaluate their learning outcomes? How do they know when they have learned enough (if in fact, they reach that point)? In this paper, we consider our questions in the context of related fields, describe an initial study, and present some early results. An overview of related work in informal learning and how our work fits in that context is given in Section 2. Our initial data collection and analysis are described in Section 3. Some discussion of the work to date is given in Section 4, and Section 5 describes the future work and conclusions so far.

2.

INFORMAL LEARNING IN CONTEXT

“Informal learning” is an umbrella term for a number of different kinds of learning, including self-directed learning,

experiential learning, workplace learning, organizational learning, and learning in informal environments, among others. These categories are overlapping and characterized more by their emphasis (and by the community of researchers in each subarea) than by precise logical definitions. Sometimes authors will use different terms for what appears to be the same thing, or the same term for two different things. In the following sections, we attempt to group research with the same emphasis, regardless of terminology, and describe the different areas that provide a context for this project.

2.1

Self-directed learning

Self-directed learning (SDL) is informal learning where the student is in control: “deciding what to learn and how to learn it.” [8, p. 2] It generally does not involve a teacher, although Garrison argues that it can be a collaborative process between teacher and student, in which “The challenge for teachers is to create the educational conditions that will facilitate self-direction.” [8, p. 8] SDL has been examined in the context of various professions. For example, Hashim [10] presents a study of Malaysian managers, concluding that self-directed learning is one of the ways in which they improve their job skills. Lohman [19] looks at self-directed learning among K-12 teachers in the United States (although in this paper, it is referred to as “informal workplace learning.”) She examines the strategies used for self-directed learning, the obstacles, and the ways in which employers might facilitate informal learning. Her recommendations might be relevant to university students as well. They include providing space where learners, especially novices, can interact with others who have similar interests; providing time for informal learning; and ensuring adequate access to the Internet. The most closely related work to our project is the work of Dorn and Guzdial [6, 7], who surveyed end-user programmers, few of whom had any formal computing education, about their knowledge of scripting and related computing topics. The end users reported that the resources they used most often were “examples of similar tasks from which you can borrow ideas and/or copy code” and “FAQs, books, tutorials, or other documentation.” Because of the way these items were grouped together in the survey, there is no way to tell if the users preferred online to offline information. A good survey of SDL in the United States as it developed from the adult education perspective can be found in Guglielmino et al. [9]

2.2

Experiential learning

According to Kolb, experiential learning is “the process whereby knowledge is created through the transformation of experience.”[15, p. 41] He describes this learning process is described as a cycle: concrete experience, followed by observation and reflection, followed by generalisation and abstract conceptualisation, followed by active experimentation, followed by concrete experience, and so on. Experiential learning is found both at work and in formal education. Collin [3] discusses experiential learning at work: “informal, incidental, and practice-bound,” emphasizing the combination of individual background and experience with the group interactions and organizational context. Moon [23] says that there is often a sense that experiential learning is an especially good form of learning, more meaningful and more empowering. She gives an example of

someone who hears lectures on a special type of limestone, and later goes to the quarry and sees and touches the limestone. In a computing context, this may correspond to the difference between listening to a lecture on or reading about programming, and working on a hands-on project.

2.3

Organizational and community learning

Considerable attention has been paid to informal learning in organizations and communities. Mittendorff et al. [22] look at collective learning by communities of practice within three different organizations: a university and two government agencies. Xiao and Carroll [26] suggest that a school might increase its computer know-how by “fostering an informal learning community of computer technologies at school [including both students and teachers] as a supplemental method of formal computer education.” JamesGordon and Bal [11] describe self-directed learning among design engineers at two automotive companies, discussing how organizations can promote SDL and how SDL can help organizations. The strategies used by individuals within the organizations appear to be the same as those used in other types of informal learning. According to Cross [4], “People acquire the skills they use at work informally – talking, observing others, trial-and-error, and simply working with people in the know.”

2.4

Large empirical studies

A Canadian team led by Livingstone has conducted a series of studies of informal learning among Canadian adults. A 1998 study (N=1562), examining “current participation in both further education courses and informal learning activities related to employment, housework, community work and general interests...” [16, p.49], concluded that Canadians averaged about 15 hours a week of informal learning. A longitudinal study (N=286) of continuously employed Canadians from 1998-2004 [18] found, based on in-depth interviews, that the respondents see course-based education and informal learning as complementary. In a third study, Livingstone reports that giving workers time to learn is important: “the more discretionary control we have in the use of our work time, the more likely we are to devote time to some form of related intentional learning” [17]. Cheetham and Chivers [2] report on a large empirical research study of how professionals learn informally, in which 80 people in 20 professions were interviewed, and another 372 people in six representative professions were surveyed. Perhaps the most striking results had to do with the diversity of learning methods used, due in part to their broad sampling. Learning ranged from purely unplanned experiential learning to planned professional development, in many contexts: structured activities with mentors and coaches, interactions with customers or clients, teaching or explaining things to others, and attempting challenging tasks. Generalizing, they identify five factors that lead to professional competence: 1. the opportunity to experience a wide range of developmental experiences; 2. the motivation to acquire the necessary competencies and to improve these continuously; 3. adequate practice in carrying out the various key tasks and functions in order to master the requisite competencies;

4. persistence in overcoming difficulties and in persevering when things are not going well;

mal educational learning, such as [home university]). This experience will be one in which you learned something not taught in a university degree program, although it could be in relation to something from a course. This experience must have left an emotion that remained with you.

5. the influence and support (when needed) of others. [2, pp. 284-285]

2.5

Broad views and indistinct categories

The term “informal learning” and its variants have also been stretched to include learning in contexts where instructors set the learning goals and structure the learning. For example, Jeffs and Smith [13] look at informal education, considering general education in informal settings, writing for an audience of “informal educators” – those who work with students in settings in which education takes place through reflective conversation and activity rather than formal instruction (for instance in youth or community work). Davies [5] considers informal learning from the perspective of City Lit, an adult education operation in the UK, and faults the government definitions of informal learning as too narrow; presumably his definition would include nearly all of adult non-degree learning including classes that individuals take for professional development. Jamieson [12, p. 19] considers informal learning in the context of regular coursework at a college to be “course-related activity undertaken individually and collaboratively on campus that occurs outside the classroom and does not directly involve the classroom teacher...including course reading, class preparation, and assignments and project activity”, that is, any activities related to a college course that take place outside of the classroom – a very broad view. Informal environments such as museums and galleries might be seen as places of extremely self-directed learning: they present visitors with carefully organized information, but visitors choose whether to go there, and what to learn when they do. On the other hand, elementary and middle-school students are often taken to museums and galleries on school trips, and there is a body of work by researchers seeking to ensure that the students learn during their visits. Anderson et al [1] suggest a framework based on human constructivism as a basis for further research. One of the main points of the authors is that by integrating both pre- and post-visit activities with the actual museum visit, it is possible to enhance the learning that occurs both during and after the actual visit. The learning described by these authors differ from those previously discussed in one fundamental way – the learning goals are set by teachers, not learners.

3.

PRELIMINARY STUDY

In this section, we describe a preliminary study of our research questions, based on an essay assignment completed by 28 students in a Technical Writing course. We start with the data collection and methodology and then present our analysis, relating the analysis back to the research questions set forth in Section 1.

3.1

Data collection and methodology

At one institution, computing students in a required Technical Writing course were given the following assignment: Identify and describe an experience of informal learning in Computer Science (as opposed to for-

The assignment instructions included the following: Consider answering the following questions to help you explain your experience. How did you learn it? How much did you learn about the CS subject? Why did you choose to learn it informally? Were there any other people involved in your learning? If so, what parts did they play? How did you use it once you learned it? Twenty-eight essays were collected and analyzed using inductive content analysis. [20] Some students wrote about basic topics such as how to indent code, suggesting that they may have been following the instruction to write about a formal educational experience “if you absolutely cannot think of a time you learned something informally”. None of the students stated explicitly that they were taking advantage of this option, however, and they all expressed – to a greater or lesser degree – control over their learning. Accordingly, we consider them all as examples of informal learning.

3.2

What the students choose to learn

The computer science topics discussed by the students fall into four broad categories: languages, programming environments, using software packages, and hardware. The first category, languages, was the topic of 14 of the 28 essays. These topics included C++, C++ and the Windows API, C#, C# and XNA, Visual Basic, writing batch code, the Java String tokenizer, and learning to write faster code. We also included SQL, HTML, CSS, and building websites. Perhaps not surprisingly, several students focused on their experiences learning how to use IDEs: Visual Studio, Netbeans and Eclipse. These are in wide use in classrooms now, but they are large and complex software packages, and Student S3’s experience is probably not unusual: “In the classroom we learned how to use NetBeans. However, my instructor did not show us how to use every feature NetBeans offered.” Students mentioned learning how to set breakpoints, how to use “hot keys,” and how to use the debugger on their own. Using IDEs is a special case of a larger category, learning how to use software packages. Seven students mentioned learning how to use various types of software, including email, installing dual operating systems, SQL Server and MS Access, an insurance-company software package, computernetworking software, and software for transferring files between computers. Finally, three students mentioned hardware topics, including wiring together two circuit boards (in order to modify a Nintendo controller), disassembling a Playstation 2, and building a computer.

3.3

Why the students are learning these topics

The most widespread reason these students reported learning informally was the desire or need to complete some project. Every one of the students’ essays involved some hands-on-project, and in 23 of the 28 stories, the project

was a reason (or the reason) why the students learned the material. The students chose or were assigned some task and learned what they needed to know to accomplish the task. In the remaining five cases, the project was secondary; the students first wanted to learn something and then chose projects that would help them learn. Student S4 expresses this clearly: “I was looking for an activity that could help me learn more about circuit boards and how to understand electrical mazes.” This student appears to have been motivated simply by intellectual curiosity. Student S5 knew that he would need C++ in his next class and set out to learn it beforehand, in order to be prepared. Similarly, Student S14 mentions the desire to prepare for a career in computer science. Student S7 refers to the satisfaction of becoming a “solid contributor” at work. Student S21 learns C# because a friend asked him if he’d like to learn and offered him a challenging project. Some additional causes can also be found in the data. Two students were motivated by the possibility of a prize or Scout merit badge. Some were encouraged by helpful parents, family, or other mentors; others were motivated by unhelpful or unavailable people to learn to do things for themselves. Some enjoyed impressing an audience with their skills. Some students were strongly motivated by the desire to do something that would benefit their co-workers or families.

3.4

3.6

S22: It made me feel good to see my site on the computer screen, looking and working exactly like I had planned. Student S23 took into account that he was a beginner, and gave himself good marks even though the project was unsophisticated: S23: Horrible graphics, jerky movement, and a simple point and click interface, but all in all, it was an awesome (and quite successful) first attempt. I have loved playing video games since I was three, and realizing that I could actually program them myself was a big awakening. Student S21 reported some learning limitations: S21: I was very happy with my resulting calculator, it worked but it still had some bugs that I was unable to remove because of my lack of experience and knowledge of C#.

What strategies the students use

We also found several different learning strategies. Besides using human and other resources, strategies described include:

Only Student S4 felt that he had learned without successfully completing a project:

• First write simple code, and then more advanced

S4: To complete the controller, I needed to cut up the board found in the NES controller and then wire in the keyboard one. I ran into trouble here because I can’t cut up the board without damaging it. In the end, I gave up out of disappointment. Normally, I find that tasks cannot be finished due to limited knowledge on my part; but this time was different, I knew what I had to do but I lacked the hardware necessary to turn it into reality.

• “Play around” or trial and error • Work hard • Walk around and observe classmates in the lab • Divide and conquer • Write a project We had expected that most students would use more than one strategy, but fewer than half of them mentioned doing so. Only a few students describe advanced learning strategies as one student did: S26: To learn how to create batch files, I first did a search for information on the internet to find

How students evaluate their own learning

All the students used essentially the same evaluation strategy: they used the success of the projects they worked on to measure their learning. As noted above, the learning experiences can be divided into two groups: those where the student needed or wanted to accomplish a task, learning what they needed to accomplish the task; and those where the learning goal came first, and the student (or someone else) defined a task that would help them to learn. Either way, their evaluation of their own success was based on how well they succeeded in the tasks they attempted. Some of the students give their work a very positive evaluation. For example, Student S22 reports about the website created:

What resources the students use

We found a number of different sources for information with the Internet the most common. Students Google and search and use online tutorials and online forums, You-Tube video clips, and examples found online. Six students mention using a book or thesaurus. Other people can also be resources in learning. Thirteen mention people who provide some level of instruction or information: mentors, people who answer questions, either on or offline, and a tutor. Of the 15 remaining students, nine make no mention of other people in their essays at all. Only two students discussed learning in a group with other peers who were learning the same thing at the same time.

3.5

out what they were. I looked at large number of coding samples, but still remained frustrated because I was beginning to see all sorts of things I didn’t know: syntax, built in commands, and what the default variables were. [...] This task remained so large to me that I decided to break it down. [...] I checked out a book [...] I looked up some beginner tutorials on the internet [...] I started to build upon basics bit by bit instead of just jumping right in like I tried initially.

4.

DISCUSSION

The results so far confirm our intuition that informal learning is something that some – but not all – computing students do. Most of the and essay writers have clearly engaged in informal learning. All the students who submitted

essays found something to discuss, but their responses were prompted by the assignment. Before personal computers, most of the informal learning projects our students describe would not have been possible. This type of informal learning is relatively recent. Moreover, it may not be the same in all disciplines. The typical mathematics major does not, say, decide to learn topology on his or her own if the course isn’t being offered. Perhaps they assume that the curriculum offered by their university is sufficient – and some of our computing students may make the same assumption. If informal learning is important, we may want to let students know explicitly that this is a skill they need and help them to develop it. The next step, in order to determine how prevalent informal learning is, would be to conduct another survey of a broader population. In the rest of this section we discuss some specific aspects: the topics studied, the strategies used, the availability of information, and how independent the students were.

4.1

Topics

Most of the students referred to topics that are outside the computing curriculum of their institution. A few discussed topics from introductory programming, such as indenting code and using the debugger. A couple of the questionnaire responses mentioned “artificial intelligence” or “graphics” without going into more detail about what they learned. One student taught himself C++ in advance specifically because he knew it would be required for his classwork. But generally they taught themselves topics such as programming languages that were not covered in class, software packages, how to transfer files from one computer to another, and taking apart Nintendo PlayStations. Learning to use software packages and transfer files may seem more like technical support than computer science. But Schulte and Knobelsdorf [24] found that undergraduate students who are not majoring in computing think that this is a skill that defines computer scientists. Computing majors may retain some of this mindset – it would not be surprising if some of them think this type of skill is a necessary, even if not sufficient, part of being a computer scientist.

4.2

Learning strategies

Most of the informal learning strategies mentioned in the related work are found among our computing students as well: using books and the Internet, finding good examples, talking to and observing others, working with more experienced friends and mentors, collaboration, and trial and error, for example. Experiential learning through hands-on projects is especially common among the computing students. McCartney et al. [21] categorized the strategies used by advanced computer science students when they are stuck in their learning. They reported 35 strategies that fell into four main groups: Input/interaction (interaction with others, tools, or written material), Concrete/do stuff (activities like writing program, solving example problems, and drawing diagrams), Abstract/understand stuff (approaches like divide-and-conquer, examining big picture, transferring ideas from another language), and “Use the Force” (a group of general strategies, such as “Be persistent”, “Reflect”, and “Find a work-around”). Many of the strategies used for getting unstuck are also

described by students here as strategies for informal learning, perhaps because getting unstuck is often, like informal learning, something students do on their own. One contrast is that most of the relatively junior students in the present study only discussed one learning strategy or source of information, while the advanced students in the other study each describe several strategies. It may be that the variety of approaches that a student can bring to a problem increases as he or she progresses in a degree program, but it may also be that the different data formats (essay in this study, interview in the previous study) led to less complete answers in this study. As we continue this study with interviews we should be able to examine this more closely.

4.3

Access to information

Most of the informal learning described in the essays would not have been possible before the Internet. The availability of information virtually anywhere could remove or reduce the environmental factor of access to information observed by Spear and Mocker [25] in 1984. Then, as they observed, students with access to books and other resources were more likely to do informal learning. Today information on almost all computer-science-related topics can be found very quickly online; it is usually easier and faster to find relevant information online than at the library or bookstore; and today’s students are accustomed to finding much of their information online.

4.4

How independently the students learn

The students’ level of independence varied. In thirteen cases the students selected the topics and the related tasks independently, for reasons such as self-improvement, technical support, and intellectual curiosity. In five cases, the tasks were externally defined, but the students attempted them voluntarily, for example a Netflix prize, a merit badge, and projects suggested by friends or family. The remaining ten of the students report working on projects that were externally mandated, including six school programming assignments, the requirement to set up a school email account, and three work assignments.

5.

CONCLUSIONS AND FUTURE WORK

This study is ongoing, and strong conclusions would be premature. Most of these issues we have not yet seen in depth, but we can make some tentative observations in response to our research questions: What the students learn So far, most of the topics our students choose to learn involve specific implementations and tools. None of them has reported teaching themselves induction proofs or compiler design. They are interested in systems rather than theory, and in rapidly changing technologies, rather than general principles. Resources Our students mention referring to books and talking to other people, and, not surprisingly, the Internet is a key resource. Strategies Most of the strategies referred to in the related work on informal learning, and in previous work on students’ strategies for getting unstuck when learning, are reported by these students as well. The main difference is the emphasis on hands-on projects.

Evaluation In almost every case where we have information about the students’ evaluation of their own learning, it depended on their success in completing a handson project. Learning and projects seemed to be very closely tied together in the students’ minds. To allow us to probe these issues at greater depth, we are currently interviewing students. Analyzing these interviews in relation to these research questions will allow us to investigate whether the emphasis on hands-on projects continues, whether the topics learned by the students fall into the same broad categories as we have found so far, how independently the students are learning, and how informal learning affects student confidence. We will also investigate whether and how students evaluate the reliability of their resources, particularly those on the Internet. In the longer term, we will consider designing and administering a survey to a broader population to investigate how widespread informal learning is among computing students.

ACKNOWLEDGMENTS The authors would like to thank Jonas Boustedt, who participated in the initial discussions of this project. Thanks also to the Department of Information Technology at Uppsala University for providing us with workspace and facilities in Uppsala, and to Ume˚ a University for virtual meeting space.

6.

REFERENCES

[1] D. Anderson, K. B. Lucas, and I. S. Ginns. Theoretical perspectives on learning in an informal setting. J. of Research in Science Teaching, 40(2):177–199, 2003. [2] G. Cheetham and G. Chivers. How professionals learn in practice: an investigation of informal learning amongst people working in professions. J. of European Industrial Training, 25(5):248–292, 2001. [3] K. Collin. Connecting work and learning: design engineers’ learning at work. J. of Workplace Learning, 18(7/8):403–413, 2006. [4] J. Cross. Informal Learning: Rediscovering the Natural Pathways That Inspire Innovation and Performance. Pfeiffer, 2006. [5] P. Davies and M. Ball. Informal learning: A vision for the twenty-first century? peter davies and malcolm ball respond to the government’s consultation on the future of informal learning. Adults learning, 19(8), 2008. [6] B. Dorn and M. Guzdial. Graphic designers who program as informal computer science learners. In ICER ’06: Proc. of the second intl. workshop on computing education research, pages 127–134, 2006. ACM. [7] B. Dorn, A. E. Tew, and M. Guzdial. Introductory computing construct use in an end-user programming community. In VL/HCC’07: Proc. of the 2007 IEEE Symposium on Visual Languages and Human-Centric Computing, pages 26–30. IEEE, 2007. [8] D. R. Garrison. Self-directed learning: Toward a comprehensive model. Adult Education Quarterly, 48(1):18–33, 1997. [9] L. M. Guglielmino, H. B. Long, and R. Hiemstra. Self-direction in learning in the United States. Intl. J. of Self-directed Learning, 1(1):1–17, 2004.

[10] J. Hashim. Competencies acquisition through self-directed learning among malaysian managers. J. of Workplace Learning, 20(4):259–271, 2008. [11] Y. James-Gordon and J. Bal. The emerging self-directed learning methods for design engineers. The Learning Organization, 10(1):63–69, 2003. [12] P. Jamieson. The serious matter of informal learning. Planning for Higher Education, 37(2):18–25, 2009. [13] T. Jeffs and M. Smith, editors. Using Informal Education, chapter 1. Open University Press, Buckingham, 1990. Accessed 10 April 2010 at http://www.infed.org/archives/ usinginformaleducation/jeffsandsmith1.htm. [14] M. S. Knowles. Self-directed learning: A guide for learners and teachers. Association Press, New York, 1975. quoted in [9]. [15] D. A. Kolb. Experiential learning: Experience as the source of learning and development. Prentice-Hall, 1984. [16] D. Livingstone. Exploring the icebergs of adult learning: Findings of the first canadian survey of informal learning practices. The Canadian J. for the Study of Adult Education, 13(2):49–72, 1999. [17] D. Livingstone. Worker control as the missing link: relations between paid/unpaid work and work-related learning. J. of Workplace Learning, 13:308–317, 2001. [18] D. Livingstone and S. Stowe. Work time and learning activities of the continuously employed; a longitudinal analysis, 1998-2004. J. of Workplace Learning, 19(1):17–31, 2007. [19] M. C. Lohman. Factors influencing teachers’ engagement in informal learning activities. J. of Workplace Learning, 18(3):141–156, 2006. [20] P. Mayring. Qualitative content analysis. Forum: Qualitative Social Research, 1(2), 2000. http://www.qualitative-research.net/fqs-texte/ 2-00/2-00mayring-e.htm. (Accessed 10 Apr 2010). [21] R. McCartney, A. Eckerdal, J. E. Mostr¨ om, K. Sanders, and C. Zander. Successful students’ strategies for getting unstuck. SIGCSE Bull., 39(3):156–160, September 2007. [22] K. Mittendorff, F. Geijsel, A. Hoeve, M. de Laat, and L. Nieuwenhuis. Communities of practice as stimulating forces for collective learning. J. of Workplace Learning, 18(5):298–312, 2006. [23] J. A. Moon. A Handbook of Reflective and Experiential Learning: theory and practice. RoutledgeFalmer, 2004. [24] C. Schulte and M. Knobelsdorf. Attitudes towards computer science-computing experiences as a starting point and barrier to computer science. In ICER ’07: Proc. of the third intl. workshop on computing education research, pages 27–38, 2007. ACM. [25] G. Spear and D. Mocker. The organizing circumstance: Environmental determinants in self-directed learning. Adult Education Quarterly, 35(1):1–10, 1984. [26] L. Xiao and J. M. Carroll. Fostering an informal learning community of computer technologies at school. Behaviour & Information Technology, 26(1):23–36, 2007.