Social networks, microblogging, virtual worlds, andWeb 2.0 in the teaching of programing techniques forsoftware engineerin...
Complexly-woven software artifacts can be managed                   also developed two semester-long “lab” projects on str...
button (topmost) or on the “Exit” button (bottommost). For           students could actually benefit from this openness. B...
B. Example materials for phase 1    For supporting phase 1, it was straightforward enough toprovide a list of sample Web s...
TABLE IV.       ASSIGNMENT DEVELOPMENT BY EACH GROUP                           The outcome of the effort to study and disc...
Finally, the students strongly found the assignment               trial. For instance, there was some level of surprise on...
Upcoming SlideShare
Loading in …5

Social networks, microblogging, virtual worlds, and Web 2.0 in the teaching of programing techniques for software engineering: a trial combining collaboration and social interaction beyond college


Published on

With the goal of lessening barriers to the learning of
advanced programming techniques, we put into place a trial which required students to get involved with online communities of programmers. Using a course assignment on software architecture styles, students had study a problem, find basis for a tentative approach, and discuss it online with programmers. The expectation was that students would find motivation for their studies from both the contact with communities of programmers, and from having to study and reflect upon their problem well enough to be able to draw the interest of members of those communities. We present the strategy we used, the developments and outcomes, and ideas for further application of this approach.

Paper presented at IEEE EDUCON - Engineering Education 2012, Marrakesh, Morroco.

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

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Social networks, microblogging, virtual worlds, and Web 2.0 in the teaching of programing techniques for software engineering: a trial combining collaboration and social interaction beyond college

  1. 1. Social networks, microblogging, virtual worlds, andWeb 2.0 in the teaching of programing techniques forsoftware engineering: a trial combining collaboration and social interaction beyond college Leonel Morgado, Benjamim Fonseca, Paulo Martins, Gonçalo Matos, 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 programming skills. In our lecturing experience at the mid-advanced programming techniques, we put into place a trial course level (4th semester of a 6-semester programme), we arewhich required them to involve with online communities of regularly confronted with students which can create smallprogrammers. Using a course assignment on software programs on their own adapt and combine pieces of existingarchitecture theory, students had study a problem, find basis for code, yet struggle when challenged to think about the codea tentative approach, and discuss it online with programmers. structure in more abstract ways. Our lecturing focus is onThe expectation was that students would find motivation for their software architectures, with the Model-View-Controllerstudies from both the contact with communities of programmers, (MVC) architectural style being a key aspect. In ourand from having to study and reflect upon their problem well experience, the general concept of separating MVC concerns isenough to be able to draw the interest of members of thosecommunities. We present the strategy we used, the developments not complex for students in general to understand. But actuallyand outcomes, and ideas for further application of this approach. converting this idea into well-structured code is typically quite challenging. This can particularly noticed if one confronts Keywords- programming, collaboration, learning, social students with the need to implement it not from scratch butnetworks, virtual worlds, PLE within real-life programming situations, such as employing preexistent frameworks, libraries or application programming interfaces (APIs) that have not been developed with software I. INTRODUCTION architecture concerns in mind. Teaching computer programming is known to be achallenging task, and a relevant issue in Computer Science and One aspect which drew our attention was the need torelated areas. The joint taskforce of the Association for motivate students to tackle the challenge posed by having toComputing Machinery and IEEE Computer Society for structure a program within an overarching architecturalrevision of the Computer Science Curriculum (ACM/IEEE concept. Not only for those students whose programming skillsCSC) even states, in its 2008 report, that “there is wide are somewhat limited and understandably struggle to take themrecognition that a considerable amount of work is needed to an extra step, but also for students who, while being able todiscover better and more effective ways of presenting the code their way around more complex problems, seem not todiscipline of computing” [1], emphasizing the need to adapt value the longer-term benefits of structuring their code incurricula not only to the technological aspects of computing, different, more manageable ways. We found that for some ofbut also to new pedagogical developments: “Institutions (...), these students, it is hard to see value in doing architectural-must recognize the importance of remaining abreast of progress correct code, when they can make their programs work asin both technology and pedagogy” (ibid.). intended without this effort. Traditionally, research concerns in the field of computer Part of this problem, we hypothesize, may be due to lack ofprogramming learning have focused on novices. Little attention two aspects: experience on long-term development ofhas been given to helping students develop their basic programs, and on team-based software development. Sponsored by Portugal Telecom Inovação, in the scope of the Plano de Inovação do Grupo PT
  2. 2. Complexly-woven software artifacts can be managed also developed two semester-long “lab” projects on structuredextensively while one keeps developing then alone and programming and object-oriented programming techniques. Incontinuously, but having to divide programming tasks by a parallel with the MPIII course, they are attending a course onteam, explain programming logic to new team members, and algorithms, and developing a semester-long “lab” projectdebug external code are all situations where the value of having applying the concepts of the MPIII course [2].an architectural code organization is 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 supports this bytime. Gender differences in particular, but not only, have drawn introducing the MVC architectural style. Since its originalsome inquiry on the need to research ways to support the proposal in 1988 [3], this architectural style has seen widelearning of programming in groups and communities, where adoption in software engineering practice, but approaches andmore advanced programmers can provide support to students to perspectives have varied. In the MPIII course, the originalassist them in learning [5][6][7]. proposal of Krasner & Pope in 1988 is contrasted with a more recent flavor proposed by Curry & Grace in 2008 [4]. To explore this hypothesis, we developed a preliminarytrial, which involved a course assignment. In it, students had todevelop coding approaches to implement MVC-basedarchitectures using various real-life frameworks, libraries orAPIs. 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 and Figure 1. MVC flavours in the MPIII course, from [4] (top) & [3] (bottom).communities (mailing lists, Facebook public profiles/groups,Twitter users, Web fora, LinkedIn groups, Second Life groups Fig. 1 presents these two flavors of the MVC architecturaland regions, etc.), approaching them, and getting involved; style. A very short summary of the differences is that K&P’s c) Bringing the problems to those practitioners and original concept had the controller accepting user input,communities, presenting ideas, exchanging viewpoints, and in whereas C&G’s 2008 flavor places that input in the view; also,general attempt to improve the starting solution; K&P allowed the view to edit the model, whereas model changes in C&G’s version is entirely the task of the controller. d) Combining the results into a structured document These and other differences between flavors have an impact ondetailing the recommended approach, and into an assessment their adequacy to different problems and systems, and studentsreport with factual evidence of the progress which led to the are expected to become aware of this complex relationshipfinal version of the document. between software architectures and their application. The In this paper, we detail the structure of this trial, its conversion of the architectural concepts into coding practicesorganization, progress, and results. was supported by means of various examples, using graphical applications, such as the one in Fig. 2, or virtual worlds. II. BACKGROUNDA. The course context and content: flavours of MVC This work was developed in the context of the course“Programming Methodologies III” (MPIII), of the 4th semesterof the undergraduate programme in Informatics Engineering ofthe University of Trás-os-Montes e Alto Douro, in Portugal.Before reaching this course, students attended other courses onprogramming techniques and concepts: computational logic, Figure 2. Sample application for presenting MVC flavors to students.basic procedural programming, structured proceduralprogramming, object-oriented programming, assembly In this specific example, the application had two windows:programming, and introductory concurrent programming. They in the left window the user could click on the “New shape”
  3. 3. button (topmost) or on the “Exit” button (bottommost). For students could actually benefit from this openness. But we alsoevery click on the “New shape” button, the application would needed them to be different enough to avoid straight copycatrandomly select between drawing a rectangle or an ellipse, as solutions. Our approach was to provide a generic assignmentwell as the drawing coordinates. The right window would framework or meta-assignment, which was them instantiateddisplay a log of the sequence of shapes drawn. differently for each group of students. Table 1 presents the structure of the meta-assignment, and Table 2, further below, Implementing this application using the original K&P present some of the instantiations for development by groupsflavor of MVC (bottommost in Fig. 1), with user input taking of in the controller, meant that the code module behind the“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 the Phaseview code modules to update the drawing area of the left Literature search on the assigned topic, doing reading notes. 1window and the text log of the right window. This could either Phase Search for professionals & communities of practice online,be done by providing the view code modules with the data related to the assigned theme, and follow them for a while, 2about the new shape, or by notifying them of the need to the get a feeling of their context and style. Ivolve with the professionals & communities, debating theupdate themselves, which they would do by accessing the Phase assigned topic, either asynchronously or synchronously.model code module. 3 Desive tentative approaches to solve or develop the assigned topic, then present, debate, and develop them. Conversely, implementing this following the C&G flavor Phase Provide an online report of the results and present in classof MVC (topmost in Fig. 1), with the user input taking place in 4 the end product of the process.the views, meant that the code module behind the “NewShape” button takes the role of view, thus reporting that event TABLE II. SAMPLE ASSIGNMENT INSTANTIATIONSto the controller module, who would then “select” the views, in Write a detailed document explaining how to use the MVCeffect asking them to update themselves, as above. In short, architectural style to develop applications usingapart from the distinction in processing of input, the Group OpenSimulator/Second Life virtual worlds as user interface,implementation of the C&G flavor is a subset of the possible 1 employing the libOpenMetaverse library. The documentimplementations of the K&P flavor. should include specific implementation examples to illustrate the explanation. Write a detailed document explaining how to use the MVCB. Usage of groupware and social software architectural style to develop applications using the Group Our intent was to track and support the students while they Windows Phone Application Platform, employing the com a 2developed the assignments. It was also our intention that XNA framework. The document should include specific implementation examples to illustrate the explanation.students could follow the progress of their peers in this process, Groupto boost confidence. But we also wanted the process in general Same as group 2, but employing the Silverlight framework. 3to be open to mutual access amongst students as a means ofpeer support, since less advanced students could benefit from IV. THE EXAMPLE PROVIDEDchecking the work of more advanced students as a source ofsample methods and possible outcomes. For these reasons, we A. The theme of the exampleused wiki software, which enables online co-editing of In order to support the development of the activities byhyperlinked editing. Students could access their own pages, students, we developed and provided online an example, as adetailing their specific assignment and progress, or check up on guide for what was intended. This example was not focused onother students’ pages. Teachers could also at any time check on computer programming, to avoid having students follow it toothe progress of each assignment. And comments, questions, closely, rather than develop their own approaches to literatureand recommendations could be placed on individual pages, by search, and contact with experts/communities.teachers or students, to support this open process. This was particularly important since we were asking To support openness of discussion, we further asked students to get involved with people outside the academicstudents to create discussion groups on social Web sites such as environment. Were we to provide examples of communities ofFacebook, as platforms for casual debate on the development practice and/or professionals linked to programming, it wouldof the assignments, e.g., to discuss on how to proceed or be highly likely for those to be flooded with student queriesconduct specific tasks, to discuss viewpoints before committing looking to reproduce our example, rather than seek alternatives.them into code or structured text, etc. And we also asked for So, we elected to provide an example where the subject was e-them to invite us into these groups, so we could follow these business, as shown in Table III.discussions and have a better grasp of the processes, doubts,and hardships behind their learning, which are often difficult togleam from the evolution of text reports alone. TABLE III. NON-PROGRAMMING EXAMPLE PROVIDED (GOALS) Theme E-business III. THE ASSIGNMENTS Develop an e-business strategy for a local business. Consider: which business models to use; which online Since students could check on the progress of their peers Assignment tools are more suited for marketing purposes; whichonline, we needed to have assignments that were structurally example Portuguese companies are actively pursuing this kind ofidentical, so that student effort distribution would be fair and business approach, with which strategies/goals?
  4. 4. 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, was 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 contacts in the sample with queries, ratherthan making their own efforts to find communities and getinvolved in them. Figure 3 presents some examples providedregarding communities in social networks (Facebook & Orkut). Figure 3. Communities of practice on e-business, used as examples Regarding contacts with experts, we provided someexamples of public Twitter feeds, as shown in Figure 4, Figure 5. Example material demonstrating a conversation with a professionalalthough nowadays with would also have the option ofpresenting public Facebook or Google+ profiles. Further, example materials were also prepared demonstrating to students 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 [8], at address In all, 62 students were involved, forming 20 groups. Of these, 19 groups (59 students) actually took part. The assignment development run for 4 months, from start to finish. Table IV Figure 4. Twitter feeds of e-business professionals in the example summarizes the work developed by each group. Amongst the groups of Table IV, only 7 sustained someD. Example materials for phase 3 activity throughout all the phases of the assignment. Looking into the number of edits to their wiki pages, we get the data To support phase 3, we developed a fictional example of a presented in Table V, showing that the editing activity tookconversation between a student and professional, illustrating place every other day or every three days (except for group 1,what was being requested. Part of these example materials is which only developed their effort over the two final weeks).presented here in Figure 5.
  5. 5. TABLE IV. ASSIGNMENT DEVELOPMENT BY EACH GROUP The outcome of the effort to study and discuss the assigned Assignment development theme was, as mentioned in section III, online report of theGroup Days of .º .º results and a class presentation summarizing them. Analyzing Summary these outcomes, we analyzed them for grading. Summarizing editing edits members Literature + reading notes. Interviewed the results for this paper, we are labeling them as “positive” older UTAD colleagues on the subject. when their overall quality demonstrated that students had One of their forum posts got 14 responses 1 17 19 5 in 4 days. Current reads: 573. Their learned significant aspects of their assigned theme and were questions lacked focus and clarity, able to provide usable examples of approaches to solve it. This particularly contacting via Facebook. result does not reflect the actual students’ results in the course, Literature + reading notes. Discussions on which were much more dependent on tests than on this several fora, gathering ≈ 10 responses assignment, whose weight on the final grade was 20%. The 2 ≈ 90 61 4 and ≈ 2000 reads. Some short contacts ones with clearly “positive” reports and/or presentations where with college professors and a professional. groups 1, 2, and 5. Also, group 13 was a borderline case. 3 ≈ 30 8 5 Added literature locations, nothing else. At the end of the process, we asked students to fill in an 4 11 4 4 Added a single literature location. online survey, using 4-level Likert scales, on the usage and Literature + reading notes. Posted in adequacy of the tools involved, and on the difficulties 5 ≈ 60 36 4 several fora and sent e-mails, but didn’t experienced in developing it. A total of 36 of the 62 students get responses or only amazement (“????”). (58%) participated in the survey. We then analyzed the results 6 ≈ 30 6 4 Only made a summary of the assignment. considering confidence intervals for each response for a 7 ≈ 30 3 4 Only made a summary of the assignment. confidence level of 95%. These significantly agreed (75%~80% vs. 20%~25%) on the wiki platform: i) being easy 8 ≈ 30 5 3 Added literature locations, nothing else. to use; ii) supportive of collaborative work; iii) allowing 9 0 0 4 Only created group page. greater interaction with colleagues and teachers; iv) being useful for developing the assignments; v) being adequate as an 10 0 0 4 Only created group page. online platform to support the course. And also on vi) the 11 0 0 5 Only created group page. usefulness of the example documents; vii) whether the assignment helped develop new knowledge, competences, and 12 0 0 3 Only created group page. experiences; and viii) whether the activities met the students’ Literature + reading notes. Posted in personal interests. Slightly more polarizing were: ix) the wiki’s several fora, used mailing lists and support for organizing one’s work (28% disagreeing vs. 72% 13 ≈ 75 28 5 Facebook. Got significant feedback, with agreeing); x) the amount of time for developing the assignment over a dozen responses and ≈ 2000 reads. (25%/72%); and xi) whether the feedback was sufficient List of literature, reading notes, contacts 14 ≈ 75 37 2 established, without significant results. (31%/67%). 15 2 16 2 List of literature, few reading notes. We also asked where students tried to find and List of literature, reading notes, contacts communicate with professionals or communities, with fora 16 ≈ 60 19 5 established, some via e-mail, without being the preferred medium, followed by Facebook and blogs, significant results. then e-mail and Twitter (Fig. 6). 17 ≈ 45 17 3 Added literature locations, nothing else. List of literature, reading notes, contacts 18 ≈ 30 13 3 established, some via e-mail, without significant results. 19 - - 4 Didn’t took part. 20 2 12 1 List of literature, few reading notes. Figure 6. Locales used by students for finding and communicating TABLE V. EDITS PER DAY, GROUPS WITH SUSTAINED ACTIVITY On the main difficulties felt, students pointed two as the Editing activity main ones: understanding what was being asked of themGroup Days of .º .º Edits / Edits / day / editing edits members Edits /day member member (56%), and finding professionals and communities in the field (62%). Understanding the actual assignment and solving it was 1 17 19 5 1.1 3.8 0.22 also a difficulty for 44% of students. Language barriers and 2 ≈ 90 61 4 0.7 15.3 0.17 collaborative work were minor difficulties (21% each). 5 ≈ 60 36 4 0.6 9 0.15 On the development of the assignment, 53% of students reported lack of time as the main issue, with lack of feedback 13 ≈ 75 28 5 0.4 5.6 0.07 on the developed work (44%) and lack of motivation (41%) as 14 ≈ 75 37 2 0.5 18.5 0.25 the subsequent most important issues. Not understanding the 16 ≈ 60 19 5 0.3 3.8 0.06 subject matter followed (31%), with minor issues being low technological skills (22%) and lack of comprehension of the 18 ≈ 30 13 3 0.4 4.3 0.14 assignment and its goals (19%).
  6. 6. Finally, the students strongly found the assignment trial. For instance, there was some level of surprise on the partadequate for the course (72% for, 22% against). The main of students in the level of involvement that communityfavorable factor was “I managed to clear doubts by contacting members showed – some students seemed to expect a colder,experts” (50%), followed by “I met experts and discussion more technically-pure approach, rather than a normal humangroups in the field, and shared experiences which enriched my community environment. Also, some students got reprimandedlearning” (39%). The unfavorable views were distributed in communities for trying to basically ask for a solution for arelatively evenly between “I had difficulties completing the class problem without thinking it over properly beforehand.various assignment phases” (31%), “I couldn’t communicate They were surprised and felt value in realizing that professionaleffectively in the discussion groups” (25%), “the difficulty communities value competence and effort over quick fixes.level 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 Ultimately, most students did not manage to reach motivation for learning advanced programming. However, wesuccessful outcomes. Only 7 groups presented some output believe that the results show that such approaches require thethroughout the various phases of the project, and only 4 development of educational strategies to encourage and supportexperienced positive feedback from their involvement with the sustained and regular participation of students inprofessional developers and online communities of practice, as communities. It was important for us, as lecturers, to realizeshown in Table IV. that students still hoped to be able to overcome lack of 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 spanof the four months of time provided. This leads us to conclude We would like to thanks all students for their participationthat students may have underestimated the need to devote time in the assignments supporting this work. We also wish to thankover a long period in order to get involved with communities all professionals and community members contributing to theand gain the attention of professional developers. Their reports efforts of students.point towards focused bursts of posting and communicating,rather than to long-haul distributed time allocation. And often REFERENCEStrying to approach communities with little investment in a [1] Association for Computing Machinery (ACM) & IEEE Computerstarting solution/proposal (or without a starting solution at all). Society (IEEE-CS), “Computer Science Curriculum 2008: An Interim Revision of CS 2001.” Computing Curriculum Series. We find this consistent with the fact that “lack of feedback the developed work” and “lack of motivation” are also (2008).relevant difficulties. Teachers provided feedback only when [2] Universidade de Trás-os-Montes e Alto Douro, “Despacho n.ºstudents expressed difficulties or had some interactions 14253/2011 – Regulamento do curso de Licenciatura em Engenharia Informática,” Diário da República, 2.ª série, no. 202, October 20th, 2011.reported in the wiki pages. Given the apparent concentration ofstudents on short bursts of work, this meant that teacher [3] G. Krasner, and S. Pope, S. (1988), “A cookbook for using the model- view controller user interface paradigm in Smalltalk-80,” Journal offeedback would follow a similar patterns, rather than a Object-Oriented Programming, vol. 1, no. 3, pp. 26-49.sustained on-line contact with the students. [4] E. Curry, and Paul Grace, “Flexible Self-Management Using the Model- Difficulties related to the lack of mastery or understanding View-Controller Pattern,” IEEE Software, vol. 25, no. 3, pp. 84-90.of the subject matter requirements are common, but that is [5] S. Sim, M. Cohn, and K. Philip, “The work of software development as an assemblage of computational practice,” in CHASE 09 Proceedings ofunsurprising, given that several of our students are attending the 2009 ICSE Workshop on Cooperative and Human Aspects onthis course in spite having failed basic-level programming Software Engineering, Washington: IEEE Computer Society, 2009, (the programme does not enforce a prerequisites 92-95.policy). [6] S. Harrel et al., “Virtually there: emerging designs for STEM teaching and learning in immersive online 3D microworlds,” in ICLS08 A positive indicator is that while students found that Proceedings of the 8th international conference on Internationalcoming across communities and experienced developers online conference for the learning sciences, Utrecht, Netherlands: Internationalwas their major difficulty, they also expressed their view that Conference of the Learning Sciences, 2008, pp. 383-391.meeting them/participating and clearing doubts this way where [7] P. Sancho-Tomas, R. Fuentes-Fernández, and B. Fernández-Manjón,the main factors supporting a strong perspective on the “Learning teamwork skills in university programming courses,” Computers & Education, vol. 53, no. 2, 2009, pp. 517-531.adequacy of this assignment in the course. Part of this may also [8] PBWiki, Inc., “PBworks | Online Team Collaboration,”be motivated by some feedback we received in class during this (retrieved 2011-11-21).