Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Artigo Educon2012


Published on

Paper presented at EDUCON 2012 (April), talking about an experience of using social network, web2.0, microblogging and virtual worlds in the teaching of programming techniques.

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

Artigo Educon2012

  1. 1. Social networks, microblogging, virtual worlds, and Web 2.0 in the teaching of programming techniques for software engineering: a trial combining collaboration and social interaction beyond college Leonel Morgado, Benjamim Fonseca, Paulo Martins, Gonçalo Cruz, Ana Margarida Maia, Ricardo Nunes Hugo Paredes Pro-Chancellery for Innovation & Information Management Dep. Engineering UTAD – Univ. of Trás-os-Montes e Alto Douro GECAD/UTAD – Univ. of Trás-os-Montes e Alto Douro Vila Real, Portugal Vila Real, Portugal {goncaloc, margaridam, rrnunes} {leonelm, benjaf, pmartins, hparedes} Arnaldo Santos Portugal Telecom Inovação Aveiro, Portugal arnaldo@ptinovacao.ptAbstract— With the goal of lessening barriers to the learning of attention has been given to helping students progress fromadvanced programming techniques, we put into place a trial basic programming towards advanced programming [2]. In ourwhich required students to get involved with online communities lecturing experience at the mid-course level (4th semester of aof programmers. Using a course assignment on software 6-semester program), we are regularly confronted with studentsarchitecture styles, students had study a problem, find basis for a which can create small programs on their own, as well as adapttentative approach, and discuss it online with programmers. The and combine small pieces of existing code, yet struggle whenexpectation was that students would find motivation for their challenged to think about the code structure in more abstractstudies from both the contact with communities of programmers, ways. Our lecturing focus is on software architecture, with theand from having to study and reflect upon their problem well Model-View-Controller (MVC) architectural style being a keyenough to be able to draw the interest of members of those aspect. In our experience, the general concept of separatingcommunities. We present the strategy we used, the developmentsand outcomes, and ideas for further application of this approach. MVC concerns is not complex for students in general to understand. But actually converting this idea into well- Keywords- programming, collaboration, learning, social structured code is typically quite challenging. This can benetworks, virtual worlds, PLE particularly noticed if one confronts students with the need to implement it not from scratch but within real-life programming situations, such as employing preexistent frameworks, libraries I. INTRODUCTION or application programming interfaces (APIs) that have not Teaching computer programming is known to be a been developed with software architecture concerns in mind.challenging task, and a relevant issue in Computer Science andrelated areas. The joint taskforce of the Association for One aspect which drew our attention was the need toComputing Machinery and IEEE Computer Society for motivate students to tackle the challenge posed by having torevision of the Computer Science Curriculum (ACM/IEEE structure a program within an overarching architecturalCSC) even states, in its 2008 report, that “there is wide concept. Not only for those students whose programming skillsrecognition that a considerable amount of work is needed to are somewhat limited and understandably struggle to take themdiscover better and more effective ways of presenting the an extra step, but also for students who, while being able todiscipline of computing” [1], emphasizing the need to adapt code their way around more complex problems, seem not tocurricula not only to the technological aspects of computing, value the longer-term benefits of structuring their code inbut also to new pedagogical developments: “Institutions (...), different, more manageable ways. We found that for some ofmust recognize the importance of remaining abreast of progress these students, it is hard to see value in doing architectural-in both technology and pedagogy” (ibid.). correct code, when they can make their programs work as intended without this effort. Traditionally, research concerns in the field of computerprogramming learning have focused on the difficulties of Part of this problem, we hypothesize, may be due to lack ofnovices and on the program comprehension by experts: little two aspects: experience on long-term development of Sponsored by Portugal Telecom Inovação, in the scope of the Plano de Inovação do Grupo PT and supported by FEDER Funds through the “ProgramaOperacional Factores de Competitividade - COMPETE” program, and by National Funds through FCT “Fundação para a Ciência e a Tecnologia” under theproject: FCOMP-01-0124-FEDER-PEst-OE/EEI/UI0760/2011.
  2. 2. programs, and on team-based software development. The programming, object-oriented programming, assemblyrationale for this hypothesis is that complexly-woven software programming, and introductory concurrent programming. Theyartifacts can be managed extensively while one keeps also developed two semester-long “lab” projects on structureddeveloping then alone and continuously, but having to divide programming and object-oriented programming techniques. Inprogramming tasks by a team, explain programming logic to parallel with the MPIII course, they are attending a course onnew team members, and debug external code are all situations algorithms, and developing a semester-long “lab” projectwhere the value of having an architectural code organization is applying the concepts of the MPIII course [3].more readily apparent. In summary, MPIII students possess significant background These aspects are partly related to social factors in the on creating and developing programs, but not on doing large-practice of programming. Research in this area, while new at scale programming, which is one of the learning objectives ofthe non-novice level, has been a source of interest for some the ACM/IEEE CSC [1]. The MPIII course aims to support thistime. Gender differences in particular, but not only, have drawn by introducing the MVC architectural style, which basicallysome inquiry on the need to research ways to support the proposes a division of concerns between three blocks: modellearning of programming in groups and communities, where (classes holding program state), controller (classesmore advanced programmers can provide support to students to implementing program flow), and view (classes dealing withassist them in learning [6][7][8]. output). Since its original proposal in 1988 [4], this architectural style has seen wide adoption in software To explore this hypothesis, we developed a preliminary engineering practice, but approaches and perspectives havetrial, which involved a course assignment. In it, students had to varied. In the MPIII course, the original proposal of Krasner &develop coding approaches to implement MVC-based Pope in 1988 is contrasted with a more recent flavor proposedarchitectures using various real-life frameworks, libraries or by Curry & Grace in 2008 [5].APIs. For instance: “write a detailed document explaining howto apply the MVC architectural style to applicationdevelopment using the Windows Phone Application Platformand the XNA framework.” To complete these assignments, students had involvethemselves in online programming communities as part of thecode development (as an actual assignment requirement).Specifically, the assignment involved four stages for students: a) Preliminary study of the problem, including analysisof documentation, and searching for sources on the Web ortechnical literature, to attain a starting solution; b) Online search for programming practitioners andcommunities (mailing lists, Facebook public profiles/groups,Twitter users, Web fora, LinkedIn groups, Second Life groupsand regions, etc.), approaching them, and getting involved; c) Bringing the problems to those practitioners and Figure 1. MVC flavors in the MPIII course, from [5] (top) & [4] (bottom).communities, presenting ideas, exchanging viewpoints, and ingeneral attempt to improve the starting solution; Fig. 1 presents these two flavors of the MVC architectural style. A very short summary of the differences is that K&P’s d) Combining the results into a structured document original concept had the controller dealing with user input,detailing the recommended approach, and into an assessment whereas C&G’s 2008 flavor places input processing in thereport with factual evidence of the progress which led to the view (albeit eventually reporting to the controller). Also, K&Pfinal version of the document. allowed the model to send messages to the controller (to impact In this paper, we detail the structure of this trial, its its processing of input), whereas in C&G’s version the modelorganization, progress, and results. only sends messages to the view (since in this version the view is responsible for both output and input). These and other II. BACKGROUND differences between flavors of the MVC style have an impact on their adequacy to different problems and systems, andA. The course context and content: flavors of MVC students are expected to become aware of this complex relationship between software architectures and their This work was developed in the context of the course application. The conversion of the architectural concepts into“Programming Methodologies III” (MPIII), of the 4th semester coding practices was supported by various examples, usingof the undergraduate program in Informatics Engineering of the graphical applications (e.g., Fig. 2) or virtual worlds.University of Trás-os-Montes e Alto Douro, in Portugal.Before reaching this course, students attended other courses on In this specific example, the application had two windows:programming techniques and concepts: computational logic, in the left window the user could click on the “New shape”basic procedural programming, structured procedural button (topmost) or on the “Exit” button (bottommost). For
  3. 3. every click on the “New shape” button, the application would them to invite us into these groups, so we could follow theserandomly select between drawing a rectangle or an ellipse, as discussions and have a better grasp of the processes, doubts,well as the drawing coordinates. The right window would and hardships behind their learning, which are often difficult todisplay a log of the sequence of shapes drawn. gleam from the evolution of text reports alone. III. THE ASSIGNMENTS Since students could check on the progress of their peers online, we needed to have assignments that were structurally identical, so that student effort distribution would be fair and students could actually benefit from this openness. But we also needed them to be different enough to avoid straight copycat solutions. Our approach was to provide a generic assignment Figure 2. Sample application for presenting MVC flavors to students. framework or meta-assignment, which was them instantiated differently for each group of students. Table 1 presents the Implementing this application using the original K&P structure of the meta-assignment, and Table 2, further below,flavor of MVC (bottommost in Fig. 1), with user input taking present some of the instantiations for development by groupsplace in the controller, meant that the code module behind the of students.“New Shape” button would take the role of controller, thusasking the model to generate the data for the new shape (type, TABLE I. THE META- ASSIGNMENTcolor, coordinates), and then that same code would ask theview code modules to update the drawing area of the left Phase Literature search on the assigned topic, doing reading notes.window and the text log of the right window. This could either 1be done by providing the view code modules with the data Search for professionals & communities of practice online, Phase related to the assigned theme, and follow them for a while,about the new shape, or by notifying them of the need to 2 the get a feeling of their context and style.update themselves, which they would do by accessing the Involvement with the professionals & communities, debatingmodel code module. Phase the assigned topic, either asynchronously or synchronously. 3 Devise tentative approaches to solve or develop the assigned Conversely, implementing this following the C&G flavor topic, then present, debate, and develop them.of MVC (topmost in Fig. 1), with the user input taking place in Phase Provide an online report of the results and present in classthe views, meant that the code module behind the “New 4 the end product of the process.Shape” button takes the role of view, thus reporting that eventto the controller module, who would then “select” the views TABLE II. SAMPLE ASSIGNMENT INSTANTIATIONS(the two windows), in effect asking them to update themselves, Write a detailed document explaining how to use the MVCas above. In short, apart from the distinction in processing of architectural style to develop applications usinginput, the implementation of the C&G flavor is a subset of the Group OpenSimulator/Second Life virtual worlds as a userpossible implementations of the K&P flavor. 1 interface, employing the libOpenMetaverse library. The document should include specific implementation examples to illustrate the explanation.B. Usage of groupware and social software Write a detailed document explaining how to use the MVC Our intent was to track and support the students while they architectural style to develop applications using the Group Windows Phone Application Platform, employing the XNAdeveloped the assignments. It was also our intention that 2 framework. The document should include specificstudents could follow the progress of their peers in this process, implementation examples to illustrate the boost confidence. But we also wanted the process in general Group Same as group 2, but employing the Silverlight be open to mutual access amongst students as a means of 3peer support, since less skilled students could benefit fromchecking the work of more skilled students as a source of IV. THE EXAMPLE PROVIDEDsample methods and possible outcomes. For these reasons, weused wiki software, which enables online co-editing of A. The theme of the examplehyperlinked editing. Students could access their own pages, In order to support the development of the activities bydetailing their specific assignment and progress, or check up on students, we developed and provided online an example, as aother students’ pages. Teachers could also at any time check on guide for what was intended. This example was not focused onthe progress of each assignment. And comments, questions, computer programming, to avoid having students follow it tooand recommendations could be placed on individual pages, by closely, rather than develop their own approaches to literatureteachers or students, to support this open process. search, and contact with experts/communities. To support openness of discussion, we further asked This was particularly important since we were askingstudents to create discussion groups on social Web sites such as students to get involved with people outside the academicFacebook, as platforms for casual debate on the development environment. Were we to provide examples of communities ofof the assignments, e.g., to discuss on how to proceed or practice and/or professionals linked to programming, it wouldconduct specific tasks, to discuss viewpoints before committing be highly likely for those to be flooded with student queriesthem into code or structured text, etc. And we also asked for looking to reproduce our example, rather than seek alternatives.
  4. 4. So, we elected to provide an example where the subject was e- although nowadays we would also have the option ofbusiness, as shown in Table III. presenting public Facebook or Google+ profiles. TABLE III. NON-PROGRAMMING EXAMPLE PROVIDED (GOALS) D. Example materials for phase 3 To support phase 3, we developed a fictional example of a Theme E-business conversation between a student and professional, illustrating Develop an e-business strategy for a local business. Consider: which business models to use; which online what was being requested. Part of these sample materials is Assignment presented here in Figure 5. tools are more suited for marketing purposes; which example Portuguese companies are actively pursuing this kind of business approach, and with which strategies/goals?B. Example materials for phase 1 For supporting phase 1, it was straightforward enough toprovide a list of sample Web sites, sample papers, samplebibliographic reference style, and sample reading notes.C. Example materials for phase 2 For supporting phase 2, we searched for on-line publiccontacts of experts and communities of practice on the themeof e-business, mimicking what we wanted students to do forprogramming. As mentioned above, since these contacts werenot related to programming, we were avoiding the risk ofstudents flooding the sample contacts with queries, rather thanmaking their own efforts to find communities and get involvedin them. Figure 3 presents some examples provided regardingcommunities in social networks (Facebook & Orkut). Figure 3. Communities of practice on e-business, used as examples Figure 5. Example material demonstrating a conversation with a professional Further, sample materials were also prepared, as examples to students of the participation in communities of practice in social media. The intent of these examples was to provide students with details on the kind of conversation and participation that was desired: interested, polite, and relevant. V. RESULTS The assignments were developed using the PBWorks wiki platform [9], at address In all, 62 students were involved, forming 20 groups. Of these, 19 Figure 4. Twitter feeds of e-business professionals in the example groups (59 students) actually took part. The assignment development ran for 4 months, from start to finish. Table IV Regarding contacts with experts, we provided some summarizes the work developed by each group.examples of public Twitter feeds, as shown in Figure 4,
  5. 5. Amongst the groups of Table IV, only 7 sustained some able to provide usable examples of approaches to solve it. Thisactivity throughout all the phases of the assignment. Looking result does not reflect the actual students’ results in the course,into the number of edits to their wiki pages, we get the data which were much more dependent on tests than on thispresented in Table V, showing that the editing activity took assignment, whose weight on the final grade was 20%. Theplace every other day or every three days (except for group 1, ones with clearly “positive” reports and/or presentations werewhich only developed their effort over the two final weeks). groups 1, 2, and 5. Also, group 13 was a borderline case. TABLE IV. ASSIGNMENT DEVELOPMENT BY EACH GROUP TABLE V. EDITS PER DAY, GROUPS WITH SUSTAINED ACTIVITY Assignment development Editing activityGroup Days of N.º N.º Group Days of N.º N.º Edits / Edits / day / Summary Edits /day editing edits members editing edits members member member Literature + reading notes. Interviewed 1 17 19 5 1.1 3.8 0.22 older UTAD colleagues on the subject. 1 17 19 5 One of their forum posts got 14 responses 2 ≈ 90 61 4 0.7 15.3 0.17 in 4 days. Current reads: 573. Their questions lacked focus and clarity, 5 ≈ 60 36 4 0.6 9 0.15 particularly contacting via Facebook. Literature + reading notes. Discussions on 13 ≈ 75 28 5 0.4 5.6 0.07 several fora, gathering ≈ 10 responses and ≈ 75 2 ≈ 90 61 4 14 37 2 0.5 18.5 0.25 ≈ 2000 reads. Some short contacts with college professors and a professional. 16 ≈ 60 19 5 0.3 3.8 0.06 3 ≈ 30 8 5 Added literature locations, nothing else. 18 ≈ 30 13 3 0.4 4.3 0.14 4 11 4 4 Added a single literature location. Literature + reading notes. Posted in At the end of the process, we asked students to fill in an 5 ≈ 60 36 4 several fora and sent e-mails, but didn’t online survey, using 4-level Likert scales, on the usage and get responses or only amazement (“????”). adequacy of the tools involved, and on the difficulties 6 ≈ 30 6 4 Only made a summary of the assignment. experienced in developing it. A total of 36 of the 62 students 7 ≈ 30 3 4 Only made a summary of the assignment. (58%) participated in the survey. We then analyzed the results considering confidence intervals for each response for a 8 ≈ 30 5 3 Added literature locations, nothing else. confidence level of 95%. These significantly agreed 9 0 0 4 Only created the group page. (75%~80% vs. 20%~25%) on the wiki platform: i) being easy to use; ii) supportive of collaborative work; iii) allowing 10 0 0 4 Only created the group page. greater interaction with colleagues and teachers; iv) being 11 0 0 5 Only created the group page. useful for developing the assignments; v) being adequate as an online platform to support the course. And also on vi) the 12 0 0 3 Only created the group page. usefulness of the example documents; vii) whether the Literature + reading notes. Posted in assignment helped develop new knowledge, competences, and several fora, used mailing lists and experiences; and viii) whether the activities met the students’ 13 ≈ 75 28 5 Facebook. Got significant feedback, with over a dozen responses and ≈ 2000 reads. personal interests. Slightly more polarizing were: ix) the wiki’s List of literature, reading notes, contacts support for organizing one’s work (28% disagreeing vs. 72% 14 ≈ 75 37 2 agreeing); x) the amount of time for developing the assignment established, without significant results. 15 2 16 2 List of literature, few reading notes. (25% vs. 72%); and xi) whether the feedback was sufficient List of literature, reading notes, contacts (31% vs. 67%). 16 ≈ 60 19 5 established, some via e-mail, without We also asked where students tried to find and significant results. communicate with professionals or communities, with fora 17 ≈ 45 17 3 Added literature locations, nothing else. being the preferred medium, followed by Facebook and blogs, List of literature, reading notes, contacts then e-mail and Twitter (Fig. 6). 18 ≈ 30 13 3 established, some via e-mail, without significant results. 19 - - 4 Didn’t take part. 20 2 12 1 List of literature, few reading notes. The outcome of the effort to study and discuss the assignedtheme was, as mentioned in section III, an online report of the Figure 6. Locales used by students for finding and communicatingresults and a class presentation summarizing them. Analyzingthese outcomes, we analyzed them for grading. Summarizing On the main difficulties felt, students pointed two as thethe results for this paper, we are labeling them as “positive” main ones: understanding what was being asked of themwhen their overall quality demonstrated that students had (56%), and finding professionals and communities in the fieldlearned significant aspects of their assigned theme and were (62%). Understanding the actual assignment and solving it was
  6. 6. also a difficulty for 44% of students. Language barriers and this course in spite having failed basic-level programmingcollaborative work were minor difficulties (21% each). courses (the program does not enforce a prerequisites policy). On the development of the assignment, 53% of students A positive indicator is that while students found thatreported lack of time as the main issue, with lack of feedback coming across communities and experienced developers onlineon the developed work (44%) and lack of motivation (41%) as was their major difficulty, they also expressed their view thatthe subsequent most important issues. Not understanding the meeting them/participating and clearing doubts this way weresubject matter followed (31%), with minor issues being low the main factors supporting a strong perspective on thetechnological skills (22%) and lack of comprehension of the adequacy of this assignment in the course. Part of this may alsoassignment and its goals (19%). be motivated by some feedback we received in class during this trial. For instance, there was some level of surprise on the part Finally, the students strongly found the assignment of students in the level of involvement that communityadequate for the course (72% for, 22% against). The main members showed – some students seemed to expect a colder,favorable factor was “I managed to clear doubts by contacting more technically-pure approach, rather than a normal humanexperts” (50%), followed by “I met experts and discussion community environment. Also, some students got reprimandedgroups in the field, and shared experiences which enriched my in communities for trying to basically ask for a solution for alearning” (39%). The unfavorable views were distributed class problem without thinking it over properly beforehand.relatively evenly between “I had difficulties completing the They were surprised and felt value in realizing that professionalvarious assignment phases” (31%), “I couldn’t communicate communities value competence and effort over quick fixes.effectively in the discussion groups” (25%), “the difficultylevel of the assignment was too high” (25%), and “the problemassigned to me was too complex” (22%). 8% of students had VII. FINAL THOUGHTS AND FUTURE WORKother unidentified problems. We propose that an approach enabling students to enhance their contact and participation with professional developers and VI. DISCUSSION & CONCLUSIONS communities of practice can enhance their learning and provide motivation for learning advanced programming. However, we Ultimately, most students did not manage to reach believe that the results show that such approaches require thesuccessful outcomes. Only 7 groups presented some output development of educational strategies to encourage and supportthroughout the various phases of the project, and only 4 the sustained and regular participation of students inexperienced positive feedback from their involvement with communities. It was important for us, as lecturers, to realizeprofessional developers and online communities of practice, as that students still hoped to be able to overcome lack ofshown in Table IV. community involvement over time with last-minute intense The relevant feedback was achieved mostly from online efforts – something against which a strategy should be devised.fora and mailing lists. While students state that blogs where This insight will inform new attempts of the use of thealso a relevant source, their reports don’t actually provide any approach in subsequent editions of the course. It is our hopeconcrete evidence of that, which leads us to hypothesize that that ultimately we can support effective involvement ofperhaps they used them as a source of information, but not as a programming students in programming communities.source of discussion and interaction. Students report lack of time as the main difficulty, yet all ACKNOWLEDGMENTbut one group tried to complete the assignment in a small span We would like to thanks all students for their participationof the four months of time provided. This leads us to conclude in the assignments supporting this work. We also wish to thankthat students may have underestimated the need to devote time all professionals and community members contributing to theover a long period in order to get involved with communities efforts of students.and gain the attention of professional developers. Their reportspoint towards focused bursts of posting and communicating, REFERENCESrather than to long-haul distributed time allocation. And often [1] Association for Computing Machinery (ACM) & IEEE Computertrying to approach communities with little investment in a Society (IEEE-CS), “Computer Science Curriculum 2008: An Interimstarting solution/proposal (or without a starting solution at all). Revision of CS 2001.” Computing Curriculum Series. We find this consistent with the fact that “lack of feedback (2008).on the developed work” and “lack of motivation” are also [2] A. Robins, J. Rountree, and N. Rountree (2003). Learning and Teachingrelevant difficulties. Teachers provided feedback only when Programming: A Review and Discussion. Computer Science Education,students expressed difficulties or had some interactions vol. 13, no. 2, pp. 137-172.reported in the wiki pages. Given the apparent concentration of [3] Universidade de Trás-os-Montes e Alto Douro, “Despacho n.ºstudents on short bursts of work, this meant that teacher 14253/2011 – Regulamento do curso de Licenciatura em Engenhariafeedback would follow a similar patterns, rather than a Informática,” Diário da República, 2.ª série, no. 202, October 20 th, 2011.sustained on-line contact with the students. [4] G. Krasner, and S. Pope, S. (1988), “A cookbook for using the model- view controller user interface paradigm in Smalltalk-80,” Journal of Difficulties related to the lack of mastery or understanding Object-Oriented Programming, vol. 1, no. 3, pp. 26-49.of the subject matter requirements are common, but that is [5] E. Curry, and Paul Grace, “Flexible Self-Management Using the Model-unsurprising, given that several of our students are attending View-Controller Pattern,” IEEE Software, vol. 25, no. 3, pp. 84-90.
  7. 7. [6] S. Sim, M. Cohn, and K. Philip, “The work of software development as an assemblage of computational practice,” in CHASE 09 Proceedings of the 2009 ICSE Workshop on Cooperative and Human Aspects on Software Engineering, Washington: IEEE Computer Society, 2009, pp. 92-95.[7] S. Harrel et al., “Virtually there: emerging designs for STEM teaching and learning in immersive online 3D microworlds,” in ICLS08 Proceedings of the 8th international conference on International conference for the learning sciences, Utrecht, Netherlands: International Conference of the Learning Sciences, 2008, pp. 383-391.[8] P. Sancho-Tomas, R. Fuentes-Fernández, and B. Fernández-Manjón, “Learning teamwork skills in university programming courses,” Computers & Education, vol. 53, no. 2, 2009, pp. 517-531.[9] PBWiki, Inc., “PBworks | Online Team Collaboration,” (retrieved 2011-11-21).