Using Pattern Mining for Competency-Focused Education Christian Köppe Hogeschool Utrecht University of Applied Sciences Institute for Information and Communication Technology
[email protected]
ABSTRACT Educational Patterns aim at improving education in a practical and proven way, and are mainly applied for designing courses in a way that students can effectively acquire the course’s content. But professional software engineers need more competencies than only mastering the technology, like analyzing problems and responding appropriately. We show in this paper that the process of pattern mining can combine these two aspects and helps in integrating competencies in a curriculum. As additional result, learning patterns are documented which help beginning students with their learning process.
Categories and Subject Descriptors K.3.2 [Computers and Education]: Computer and Information Science Education —Computer science education
General Terms
was also partly addressed by the definition of the Dublin Descriptors [10] and translated for the Dutch educational institutions in the Accreditatiekader bestaande opleidingen hoger onderwijs [18]. Even though all institutions have to use these Dublin Descriptors, many seem to struggle with their inclusion in the technical content-oriented curricula. In this paper we propose one possible way of implementing a proper integration of competency-focused education in a curriculum, making use of a technique which has been applied in many domains and which has been proven of being successful: Pattern Mining. In the next section we provide some background on competencies and patterns. This is followed by a discussion on the applicability of pattern mining for working on specific competencies. We then describe the workshop itself and and the documentation of the patterns identified. Finally, we will provide a summary and will take a look at future work.
Design, Education
2.
Keywords
2.1
Educational Patterns, Pattern Mining, Dublin Descriptors, Competencies
1.
INTRODUCTION
Working as a professional software engineer does not only require sufficient knowledge of software engineering techniques and methods, but developing more generic competences, that baccalaureate is supposed to master: planning and organisation, communication, self-development, problemsolving, analysing and ethical responsibility. In technical studies, these competences or skills are often referred to as ’ soft skills’ as opposed to the technology focused ’hard skills’. It seems that the main focus of the most computer science or software engineering curricula is the proper teaching of the technical aspects — the hard skills. This shortcoming
BACKGROUND Dublin Descriptors and general Competencies
The Joint Quality Initiative Informal Group defined 2004 in Dublin the common goals for the bachelor and master studies in European countries. This had the goal that these offered studies are at a comparable level. Therefore the competencies described in the so-called Dublin Descriptors are expected to be part of all undergraduate and graduate programmes in the Netherlands and other European countries. The following list gives a summary of these competencies as documented in [10]: • Knowledge and Understanding • Applying Knowledge and Understanding • Making Judgements • Communication
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. CSERC ’12 Wroclaw, Poland Copyright 20XX ACM X-XXXXX-XX-X/XX/XX ...$15.00.
• Learning Skills These competencies are accompanied by general skills as described in the HBO-I1 domain description of the bachelor of ICT [7]: 1 HBO-I is the Dutch organization of undergraduate institutions of ICT-related studies
• Analysing • Advising • Designing • Realising • Administrating The abilities to make judgements, to communicate, and to learn, as well as the analysing and advisory skills, are generally considered soft skills and are given lower priority in a computer science or software engineering curriculum.
2.2
Patterns and Pattern Mining
Patterns were initially introduced as concept in 1977 by the architect Christopher Alexander and his colleagues. He explained the concept of patterns as follows: “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem , in such a way that you can use this solution a million times over, without ever doing it twice” [2]. Patterns have since been applied in many different domains apart from architecture: software design [5], software architecture [3, 4], organizational changes [17], general pedagogy [19], and also content-specific pedagogy [12, 13]. Pattern Mining is the process of looking for patterns in a certain domain and describing them following a pre-defined format. This requires some certain level of experience in this domain. There are different techniques which can be successfully applied for pattern mining, among which the retrospective approach, social approach, artifactual approach, and pattern-mining workshops [11]. The last technique often is used in combination with other techniques, and can therefore be considered as one of the most applied techniques for collecting patterns. Common to all approaches is the use of induction, also typical for qualitative research [11].
2.3
Teaching vs. Learning Patterns
Pedagogical patterns have been known and described for over 15 years, mainly collected by the pedagogical patterns project [1], but also documented in other publications (e.g. [6, 12, 13, 14, 16, 20]). However, these are mainly addressing the teacher2 as target audience and pattern applicant and describe what one can do as teacher to improve the learning outcomes of the students. What these patterns have left out is what students themselves can accomplish in selfdevelopment. This issue is addressed by Takashi Iba et al. in the collection of Learning Patterns [8, 9]. A copy of this pattern collection has been handed out to all students of Keio University in Tokyo. It offers a host of useful solutions to common problems in everyday students’ lives. These Learning Patterns differ in granularity and scope. The author has identified three main areas (reflected in three fundamental patterns): Making Opportunities, Creative Project, and Open-Process Learning. The generic patterns of Iba et al. are very helpful to students, yet they fail to address some specific problems 2 We use the term teacher in this paper as synonym for all educating people in general, like teachers, instructors, lecturers etc. We use the term student for all people which do learn from the teachers.
which software engineering students may run into. With the concept of learning patterns being so promising, we believe that mining these more specific learning patterns can prove very valuable to both students and teachers.
3.
THE PATTERN MINING WORKSHOP
As stated earlier are workshops one possible approach for applying pattern mining. Due to the interactive and cooperational nature we consider such a pattern mining workshop as highly applicable for the development of professional skills — often also named soft skills — in the curriculum. We elaborate on this in the following sections.
3.1
Applying Pattern Mining for Working on Student Competencies
Design patterns can be considered an integral part of most computer science and software engineering curricula, at least those covered by the GoF-book [5]. If introduced correctly, e.g. by using the pattern language for teaching design patterns [12, 13], the students are familiar with the general concept of patterns. The process of pattern mining is basically backward looking and includes the collection and usage of data in order to formulate responses to well-defined concrete and abstract problems, one of the qualifications — the competency Making Judgements — described in the Dublin Descriptors [10]. As patterns aim to describe proven solutions that have been put to the test, pattern writing requires the ability to analyze and reflect: why was a specific solution indeed effective and which underlying problem was resolved by applying it? Patterns are to be used by anyone new to a domain, so they should be documented in such a way that novices can understand them and apply them to good use. The requires the ability to communicate and advise. When asked to discuss their findings during the workshop, and look for supporting arguments, students will improve their communication skills as well. Communication will also be improved as during the workshop the students are required to discuss their findings in the group and also to argument about why they want to include or exclude certain parts in the patterns. An improvement of all above described competencies will also lead to an improvement of general Learning Skills.
3.2
The Implementation of the Workshop
The workshop took 3,5 hours altogether and the participants were 25 students of the third year of an undergraduate computer science program with a specialization in software engineering. The students were already familiar with the concepts of patterns as they had already attended a course on patterns & frameworks, where attention was given not only to specific software design patterns, but also to the pattern concept itself. The above mentioned pattern language for teaching design patterns was used for this. New to the students was the idea of applying the pattern concept on their personal development, so the beginning of the workshop comprised of an introduction to Learning Patterns as described by Iba in [8]. Then the process of pattern mining was introduced to the students, starting with the collection of patlets. We used the steps described by Wellhausen and Fießer [21]: identifying the solution and the problem it addresses and giving this a ”working title”.
Figure 1: Example of mined patterns: Fill Knowledge Gaps The topic was ”groups assignments” with a focus on students’ views and capabilities. We emphasized that the patterns to look for should be those which new students can apply, thus profiting from senior students’ experience. The students were divided in six groups, and asked to think about all possible patlets they could think of in a first round and to document them using a small template with just the sections name, problem and solution . After one hour all patlets were collected and then presented to the whole group. All suggestions were discussed in the group and we were able to make a first pre-selection of pattern candidates, already grouping the corresponding patlets of different groups. In a second round we chose a selection of the most popular and promising patlets, and asked the students to select a pattern they felt familiar with, and improve it by working on the additional sections of a pattern, i.e. context, forces and the consequences. Afterwards, the students presented their extended pattern description to the whole group and we summarized this first version of a collection of learning patterns for student group assignments. Teachers were present the whole time to ensure that the students went the right way and that the discussions stayed focused on the topic of mining learning patterns for group assignments.
4.
DOCUMENTATION OF THE MINED PATTERNS
The documented pattern descriptions were collected and summarized by the teacher in a document. The students got the summary and were asked to provide additional feedback. One example of a pattern mined is Fill Knowledge Gaps, which is shown in Figure 1. This version is the version as described by the students, the author only translated it from Dutch to English and used complete sentences for the pattern description. The other patterns described in more detail are Don’t Be Afraid To Ask, Reflecting Expectations, First Warning, High Quality Products, and Product Management. This first set of patterns will be documented in a book similar to the book Learning Patterns from Takashi Iba et al. [8] and submitted to the PLoPconference for validation [15]. The documented patterns will be used for helping new students to avoid common pitfalls in doing group assignments. We hope that peer learning (juniors learning from senior students) will lead to increased acceptance of these solutions — when compared to advice handed out by teachers.
5.
SUMMARY AND FUTURE WORK
The feedback given by the students after the workshop was mainly positive. They valued the discussions held during the workshop and especially valued that they were asked
to explain their own experience, which gave them the feeling of being valued. This first workshop was only a one-time activity, lasting for 3,5 hours. In the future a series of workshops could be held, accompanied by work group activities where the students have to improve the mined patterns by themselves. We have demonstrated that pattern mining can serve two goals: (a) it can help develop core professional competences, be it in the domain of software engineering or any other domain and (b) it produces patterns that may improve learning and self-development in the field of study related problems students may run into; in our case ’working on group assignments’. The set of patterns identified during the workshop is just the very first beginning of mining the patterns relevant for students’ group assignments. We will continue using this technique for working on a broader coverage of problems in this specific domain, eventually working towards a complete pattern language of learning patterns for group assignments. There are also other subdomains of learning which could be subject to pattern mining, e.g. patterns for internships, patterns for efficient note-taking during lectures or patterns for study organisation. Takashi Iba et al. are currently also working on learning patterns for student presentations.
6.
ACKNOWLEDGEMENTS
I especially want to thank my students, which keep motivating me to rethink and improve my teaching continuously. Thanks also go to Nini Salet and Mari¨elle Nijsten for their help during the workshop — and to the latter also for the corrections — and to Leo Pruijt with whom I worked closely together in the semester where the workshop was part of.
7.
REFERENCES
[1] Pedagogical patterns project. http://www.pedagogicalpatterns.org/, 2012. [2] Alexander, C., Ishikawa, S., and Silverstein, M. A Pattern Language: Towns, Buildings, Construction (Center for Environmental Structure Series). Oxford University Press, Aug. 1977. [3] Buschmann, F., Henney, K., and Schmidt, D. C. Pattern-oriented software architecture: On patterns and pattern languages, vol. 5. John Wiley & Sons Inc, 2007. [4] Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and Stal, M. Pattern-oriented Software Architecture - A System of Patterns. John Wiley & Sons, Chichester, 1996. [5] Gamma, E., Helm, R., Johnson, R., and Vlissides, J. Design Patterns. Addison-Wesley, Boston, MA, 1995. [6] Goodyear, P., and Retalis, S., Eds. Technology-enhanced learning: design patterns and pattern languages. Sense Publishers, Rotterdam, 2010.
[7] HBO-I. Bachelor of ICT, Domeinbeschrijving. HBO-I Stichting, Amsterdam, NL, 2009. [8] Iba, T. Designing a Pattern Language for Creative Learners. [9] Iba, T., and Sakamoto, M. Learning Patterns III A Pattern Language for Creative Learning. In to be published in Proceedings of the 18th Conference on Pattern Languages of Programs, PLoP’11 (Portland, OR, USA, 2011). [10] Joint Quality Initiative informal group. Shared ’Dublin’descriptors for short cycle, first cycle, second cycle and third cycle awards. Draft 1, Working Document on JQI Meeting in Dublin (2004). [11] Kohls, C., and Panke, S. Is that true...? In Proceedings of the 16th Conference on Pattern Languages of Programs - PLoP ’09 (New York, New York, USA, Aug. 2009), ACM Press. [12] K¨ oppe, C. A Pattern Language for Teaching Design Patterns (Part 1). In Preprints of the 16th European conference on pattern languages of programs, EuroPLoP’11 (Irsee, Germany, 2011), vol. 2011, ACM. [13] K¨ oppe, C. A Pattern Language for Teaching Design Patterns (Part 2). In Preprints of the 18th Conference on Pattern Languages of Programs, PLoP’11 (Portland, OR, USA, 2011), vol. 2011, ACM. [14] K¨ oppe, C. Continuous Activity - A Pedagogical Pattern for Active Learning. In Preprints of the 16th European conference on pattern languages of programs, EuroPLoP’11 (2011), vol. 2011, ACM. [15] K¨ oppe, C. Learning Patterns for Group Assignments - Part 1. In Preprints of the 19th Pattern Languages of Programs conference, PLoP’12 (Tucson, Arizona, USA, 2012), ACM. [16] Larson, K. a., Trees, F. P., and Weaver, D. S. Continuous feedback pedagogical patterns. Proceedings of the 15th Conference on Pattern Languages of Programs - PLoP ’08 (2008), 1. [17] Manns, M. L., and Rising, L. Fearless Change: Patterns for Introducing New Ideas. Addison-Wesley, 2005. [18] Nederlands-Vlaamse Accreditatie Organisatie. Accreditatiekader bestaande opleidingen hoger onderwijs. Den Haag (2003). [19] Pedagogical Patterns Editorial Board. Pedagogical Patterns: Advice for Educators. Joseph Bergin Software Tools, 2012. [20] Schmolitzky, A., and Sch¨ ummer, T. Patterns for Supervising Thesis Projects. In Proceedings of EuroPLoP 2008 (2008). [21] Wellhausen, T., and Fießer, A. How to write a pattern? In European conference on pattern languages of programs, EuroPLoP’11, to be published (Irsee, Germany, 2011).