SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
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}@utad.pt
    {leonelm, benjaf, pmartins, hparedes}@utad.pt


                                                                  Arnaldo Santos
                                                           Portugal Telecom Inovação
                                                                Aveiro, Portugal
                                                             arnaldo@ptinovacao.pt

Abstract— With the goal of lessening barriers to the learning of              attention has been given to helping students progress from
advanced programming techniques, we put into place a trial                    basic programming towards advanced programming [2]. In our
which required students to get involved with online communities               lecturing experience at the mid-course level (4th semester of a
of programmers. Using a course assignment on software                         6-semester program), we are regularly confronted with students
architecture styles, students had study a problem, find basis for a           which can create small programs on their own, as well as adapt
tentative approach, and discuss it online with programmers. The               and combine small pieces of existing code, yet struggle when
expectation was that students would find motivation for their                 challenged to think about the code structure in more abstract
studies from both the contact with communities of programmers,                ways. Our lecturing focus is on software architecture, with the
and from having to study and reflect upon their problem well
                                                                              Model-View-Controller (MVC) architectural style being a key
enough to be able to draw the interest of members of those
                                                                              aspect. In our experience, the general concept of separating
communities. We present the strategy we used, the developments
and 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 be
networks, 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 and
related areas. The joint taskforce of the Association for                         One aspect which drew our attention was the need to
Computing Machinery and IEEE Computer Society for                             motivate students to tackle the challenge posed by having to
revision of the Computer Science Curriculum (ACM/IEEE                         structure a program within an overarching architectural
CSC) even states, in its 2008 report, that “there is wide                     concept. Not only for those students whose programming skills
recognition that a considerable amount of work is needed to                   are somewhat limited and understandably struggle to take them
discover better and more effective ways of presenting the                     an extra step, but also for students who, while being able to
discipline of computing” [1], emphasizing the need to adapt                   code their way around more complex problems, seem not to
curricula not only to the technological aspects of computing,                 value the longer-term benefits of structuring their code in
but also to new pedagogical developments: “Institutions (...),                different, more manageable ways. We found that for some of
must 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 computer
programming learning have focused on the difficulties of                         Part of this problem, we hypothesize, may be due to lack of
novices 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 “Programa
Operacional Factores de Competitividade - COMPETE” program, and by National Funds through FCT “Fundação para a Ciência e a Tecnologia” under the
project: FCOMP-01-0124-FEDER-PEst-OE/EEI/UI0760/2011.
programs, and on team-based software development. The               programming, object-oriented programming, assembly
rationale for this hypothesis is that complexly-woven software      programming, and introductory concurrent programming. They
artifacts can be managed extensively while one keeps                also developed two semester-long “lab” projects on structured
developing then alone and continuously, but having to divide        programming and object-oriented programming techniques. In
programming tasks by a team, explain programming logic to           parallel with the MPIII course, they are attending a course on
new team members, and debug external code are all situations        algorithms, and developing a semester-long “lab” project
where 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 of
the non-novice level, has been a source of interest for some        the ACM/IEEE CSC [1]. The MPIII course aims to support this
time. Gender differences in particular, but not only, have drawn    by introducing the MVC architectural style, which basically
some inquiry on the need to research ways to support the            proposes a division of concerns between three blocks: model
learning of programming in groups and communities, where            (classes holding program state), controller (classes
more advanced programmers can provide support to students to        implementing program flow), and view (classes dealing with
assist 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 have
trial, 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 proposed
architectures using various real-life frameworks, libraries or
                                                                    by Curry & Grace in 2008 [5].
APIs. For instance: “write a detailed document explaining how
to apply the MVC architectural style to application
development using the Windows Phone Application Platform
and the XNA framework.”
   To complete these assignments, students had involve
themselves in online programming communities as part of the
code development (as an actual assignment requirement).
Specifically, the assignment involved four stages for students:
    a) Preliminary study of the problem, including analysis
of documentation, and searching for sources on the Web or
technical literature, to attain a starting solution;
    b) Online search for programming practitioners and
communities (mailing lists, Facebook public profiles/groups,
Twitter users, Web fora, LinkedIn groups, Second Life groups
and 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 in
general 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 the
report with factual evidence of the progress which led to the       view (albeit eventually reporting to the controller). Also, K&P
final 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 model
organization, 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, and
A. 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, using
of 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
every click on the “New shape” button, the application would              them to invite us into these groups, so we could follow these
randomly 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 to
display 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 groups
place in the controller, meant that the code module behind the            of students.
“New Shape” button would take the role of controller, thus
asking the model to generate the data for the new shape (type,
                                                                                           TABLE I.         THE META- ASSIGNMENT
color, coordinates), and then that same code would ask the
view 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                 1
be 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, debating
model 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 class
the 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 event
to 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 MVC
as above. In short, apart from the distinction in processing of                        architectural style to develop applications using
input, the implementation of the C&G flavor is a subset of the              Group      OpenSimulator/Second Life virtual worlds as a user
possible 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 XNA
developed the assignments. It was also our intention that                     2
                                                                                       framework. The document should include specific
students could follow the progress of their peers in this process,                     implementation examples to illustrate the explanation.
to boost confidence. But we also wanted the process in general              Group
                                                                                       Same as group 2, but employing the Silverlight framework.
to be open to mutual access amongst students as a means of                    3
peer support, since less skilled students could benefit from
checking the work of more skilled students as a source of                                    IV.     THE EXAMPLE PROVIDED
sample methods and possible outcomes. For these reasons, we
used wiki software, which enables online co-editing of                    A. The theme of the example
hyperlinked editing. Students could access their own pages,                   In order to support the development of the activities by
detailing their specific assignment and progress, or check up on          students, we developed and provided online an example, as a
other students’ pages. Teachers could also at any time check on           guide for what was intended. This example was not focused on
the progress of each assignment. And comments, questions,                 computer programming, to avoid having students follow it too
and recommendations could be placed on individual pages, by               closely, rather than develop their own approaches to literature
teachers 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 asking
students to create discussion groups on social Web sites such as          students to get involved with people outside the academic
Facebook, as platforms for casual debate on the development               environment. Were we to provide examples of communities of
of the assignments, e.g., to discuss on how to proceed or                 practice and/or professionals linked to programming, it would
conduct specific tasks, to discuss viewpoints before committing           be highly likely for those to be flooded with student queries
them into code or structured text, etc. And we also asked for             looking to reproduce our example, rather than seek alternatives.
So, we elected to provide an example where the subject was e-              although nowadays we would also have the option of
business, 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 to
provide a list of sample Web sites, sample papers, sample
bibliographic reference style, and sample reading notes.

C. Example materials for phase 2
    For supporting phase 2, we searched for on-line public
contacts of experts and communities of practice on the theme
of e-business, mimicking what we wanted students to do for
programming. As mentioned above, since these contacts were
not related to programming, we were avoiding the risk of
students flooding the sample contacts with queries, rather than
making their own efforts to find communities and get involved
in them. Figure 3 presents some examples provided regarding
communities 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 http://mpiii20102011.pbworks.com. 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,
Amongst the groups of Table IV, only 7 sustained some                      able to provide usable examples of approaches to solve it. This
activity 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 this
presented in Table V, showing that the editing activity took                   assignment, whose weight on the final grade was 20%. The
place every other day or every three days (except for group 1,                 ones with clearly “positive” reports and/or presentations were
which 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 activity
Group 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 assigned
theme was, as mentioned in section III, an online report of the                      Figure 6. Locales used by students for finding and communicating
results and a class presentation summarizing them. Analyzing
these outcomes, we analyzed them for grading. Summarizing                         On the main difficulties felt, students pointed two as the
the results for this paper, we are labeling them as “positive”                 main ones: understanding what was being asked of them
when their overall quality demonstrated that students had                      (56%), and finding professionals and communities in the field
learned significant aspects of their assigned theme and were                   (62%). Understanding the actual assignment and solving it was
also a difficulty for 44% of students. Language barriers and          this course in spite having failed basic-level programming
collaborative 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 that
reported lack of time as the main issue, with lack of feedback        coming across communities and experienced developers online
on the developed work (44%) and lack of motivation (41%) as           was their major difficulty, they also expressed their view that
the subsequent most important issues. Not understanding the           meeting them/participating and clearing doubts this way were
subject matter followed (31%), with minor issues being low            the main factors supporting a strong perspective on the
technological skills (22%) and lack of comprehension of the           adequacy of this assignment in the course. Part of this may also
assignment 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 community
adequate 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 human
experts” (50%), followed by “I met experts and discussion
                                                                      community environment. Also, some students got reprimanded
groups in the field, and shared experiences which enriched my         in communities for trying to basically ask for a solution for a
learning” (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 professional
various assignment phases” (31%), “I couldn’t communicate             communities value competence and effort over quick fixes.
effectively in the discussion groups” (25%), “the difficulty
level of the assignment was too high” (25%), and “the problem
assigned to me was too complex” (22%). 8% of students had                        VII. FINAL THOUGHTS AND FUTURE WORK
other 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 the
successful outcomes. Only 7 groups presented some output              development of educational strategies to encourage and support
throughout the various phases of the project, and only 4              the sustained and regular participation of students in
experienced positive feedback from their involvement with             communities. It was important for us, as lecturers, to realize
professional developers and online communities of practice, as        that students still hoped to be able to overcome lack of
shown 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 the
also a relevant source, their reports don’t actually provide any      approach in subsequent editions of the course. It is our hope
concrete evidence of that, which leads us to hypothesize that         that ultimately we can support effective involvement of
perhaps 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                           ACKNOWLEDGMENT
but one group tried to complete the assignment in a small span            We would like to thanks all students for their participation
of the four months of time provided. This leads us to conclude        in the assignments supporting this work. We also wish to thank
that students may have underestimated the need to devote time         all professionals and community members contributing to the
over a long period in order to get involved with communities          efforts of students.
and gain the attention of professional developers. Their reports
point towards focused bursts of posting and communicating,                                            REFERENCES
rather than to long-haul distributed time allocation. And often
                                                                      [1]   Association for Computing Machinery (ACM) & IEEE Computer
trying to approach communities with little investment in a                  Society (IEEE-CS), “Computer Science Curriculum 2008: An Interim
starting solution/proposal (or without a starting solution at all).         Revision of         CS    2001.”    Computing Curriculum Series.
                                                                            http://www.acm.org//education/curricula/ComputerScience2008.pdf
    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 Teaching
relevant 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 Engenharia
feedback 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.
[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 ICLS'08
      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,”
      http://pbworks.com/ (retrieved 2011-11-21).

Weitere ähnliche Inhalte

Was ist angesagt?

Tech Comm Program Guide
Tech Comm Program GuideTech Comm Program Guide
Tech Comm Program Guide
Ryan Nation
 
BTC BSc Programme Specification
BTC BSc Programme SpecificationBTC BSc Programme Specification
BTC BSc Programme Specification
James Uren
 
BTC FdSc Programme Specification
BTC FdSc Programme SpecificationBTC FdSc Programme Specification
BTC FdSc Programme Specification
James Uren
 
Etl intern superv_eval_su2_11_sig.doc completed
Etl intern superv_eval_su2_11_sig.doc completedEtl intern superv_eval_su2_11_sig.doc completed
Etl intern superv_eval_su2_11_sig.doc completed
beccapr69
 
Cg31350353
Cg31350353Cg31350353
Cg31350353
IJMER
 
PhD Public Defense
PhD Public DefensePhD Public Defense
PhD Public Defense
Ahmet Soylu
 
Approaches to supporting Open Educational Resource projects
Approaches to supporting Open Educational Resource projectsApproaches to supporting Open Educational Resource projects
Approaches to supporting Open Educational Resource projects
R. John Robertson
 
2015_CTI_BSc-IT_Module-Description_Final1
2015_CTI_BSc-IT_Module-Description_Final12015_CTI_BSc-IT_Module-Description_Final1
2015_CTI_BSc-IT_Module-Description_Final1
Moses75
 

Was ist angesagt? (20)

Tech Comm Program Guide
Tech Comm Program GuideTech Comm Program Guide
Tech Comm Program Guide
 
BTC BSc Programme Specification
BTC BSc Programme SpecificationBTC BSc Programme Specification
BTC BSc Programme Specification
 
BTC FdSc Programme Specification
BTC FdSc Programme SpecificationBTC FdSc Programme Specification
BTC FdSc Programme Specification
 
Teaching agile
Teaching agileTeaching agile
Teaching agile
 
Virtual Flipped Classroom
Virtual Flipped ClassroomVirtual Flipped Classroom
Virtual Flipped Classroom
 
Np lab
Np labNp lab
Np lab
 
Teaching HCI to Undergraduate Computing Students: the Quest for the Golden Rules
Teaching HCI to Undergraduate Computing Students: the Quest for the Golden RulesTeaching HCI to Undergraduate Computing Students: the Quest for the Golden Rules
Teaching HCI to Undergraduate Computing Students: the Quest for the Golden Rules
 
(2004) Adaptation and Implementation to a Graduate Course Development in Biom...
(2004) Adaptation and Implementation to a Graduate Course Development in Biom...(2004) Adaptation and Implementation to a Graduate Course Development in Biom...
(2004) Adaptation and Implementation to a Graduate Course Development in Biom...
 
French summer of code contest - libre summer of code - fossa2011
French summer of code contest -  libre summer of code - fossa2011French summer of code contest -  libre summer of code - fossa2011
French summer of code contest - libre summer of code - fossa2011
 
Training Tomorrow's Engineers by Contributing to Today's Free Software
Training Tomorrow's Engineers by Contributing to Today's Free Software Training Tomorrow's Engineers by Contributing to Today's Free Software
Training Tomorrow's Engineers by Contributing to Today's Free Software
 
2010 year end report
2010 year end report2010 year end report
2010 year end report
 
Action plan
Action planAction plan
Action plan
 
Etl intern superv_eval_su2_11_sig.doc completed
Etl intern superv_eval_su2_11_sig.doc completedEtl intern superv_eval_su2_11_sig.doc completed
Etl intern superv_eval_su2_11_sig.doc completed
 
Which e-Portfolio Tool for What Purpose?
Which e-Portfolio Tool for What Purpose?Which e-Portfolio Tool for What Purpose?
Which e-Portfolio Tool for What Purpose?
 
Fayston techplanjune2009
Fayston techplanjune2009Fayston techplanjune2009
Fayston techplanjune2009
 
Cg31350353
Cg31350353Cg31350353
Cg31350353
 
PhD Public Defense
PhD Public DefensePhD Public Defense
PhD Public Defense
 
Approaches to supporting Open Educational Resource projects
Approaches to supporting Open Educational Resource projectsApproaches to supporting Open Educational Resource projects
Approaches to supporting Open Educational Resource projects
 
UNIMOOC @ google's meeting in Zurich.
UNIMOOC @ google's meeting in Zurich.UNIMOOC @ google's meeting in Zurich.
UNIMOOC @ google's meeting in Zurich.
 
2015_CTI_BSc-IT_Module-Description_Final1
2015_CTI_BSc-IT_Module-Description_Final12015_CTI_BSc-IT_Module-Description_Final1
2015_CTI_BSc-IT_Module-Description_Final1
 

Andere mochten auch

Social media - turning likes into buyers
Social media - turning likes into buyersSocial media - turning likes into buyers
Social media - turning likes into buyers
Michael Fox
 
Mcom 341 week 12 summary
Mcom 341 week 12 summaryMcom 341 week 12 summary
Mcom 341 week 12 summary
schaferv
 

Andere mochten auch (13)

Rabatin_Robert_Week2
Rabatin_Robert_Week2Rabatin_Robert_Week2
Rabatin_Robert_Week2
 
SLoppi SLday1
SLoppi SLday1SLoppi SLday1
SLoppi SLday1
 
Social media - turning likes into buyers
Social media - turning likes into buyersSocial media - turning likes into buyers
Social media - turning likes into buyers
 
Venture Lab - Assignment 2 - Walk-A-Pram
Venture Lab - Assignment 2 - Walk-A-PramVenture Lab - Assignment 2 - Walk-A-Pram
Venture Lab - Assignment 2 - Walk-A-Pram
 
Mcom 341 week 12 summary
Mcom 341 week 12 summaryMcom 341 week 12 summary
Mcom 341 week 12 summary
 
WPNG: Using Social Media in Your Company
WPNG: Using Social Media in Your CompanyWPNG: Using Social Media in Your Company
WPNG: Using Social Media in Your Company
 
Mobile Entertainment Africa 2011 Keynote by Mark Kaigwa
Mobile Entertainment Africa 2011 Keynote by Mark KaigwaMobile Entertainment Africa 2011 Keynote by Mark Kaigwa
Mobile Entertainment Africa 2011 Keynote by Mark Kaigwa
 
marketing demo
marketing demomarketing demo
marketing demo
 
Gaim cognos guidance service 2011 v1
Gaim cognos guidance service 2011 v1Gaim cognos guidance service 2011 v1
Gaim cognos guidance service 2011 v1
 
Health Care Reform: The Franchise Operator's Guide 10-26-12
Health Care Reform: The Franchise Operator's Guide 10-26-12Health Care Reform: The Franchise Operator's Guide 10-26-12
Health Care Reform: The Franchise Operator's Guide 10-26-12
 
Stop and record pp
Stop and record ppStop and record pp
Stop and record pp
 
Sthetiks Misc1
Sthetiks   Misc1Sthetiks   Misc1
Sthetiks Misc1
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 

Ähnlich wie Artigo Educon2012

Mobilizing Learning.
Mobilizing Learning.Mobilizing Learning.
Mobilizing Learning.
Roger Bateman
 
Presentation on po pshjhhjhekhhkkhkhjpeo
Presentation on po pshjhhjhekhhkkhkhjpeoPresentation on po pshjhhjhekhhkkhkhjpeo
Presentation on po pshjhhjhekhhkkhkhjpeo
epandhari
 
Virtual programming labs in the programming learning process, preparing a cas...
Virtual programming labs in the programming learning process, preparing a cas...Virtual programming labs in the programming learning process, preparing a cas...
Virtual programming labs in the programming learning process, preparing a cas...
Up2Universe
 

Ähnlich wie Artigo Educon2012 (20)

Minding the gap: Bridging Computing Science and Business Studies with an Inte...
Minding the gap: Bridging Computing Science and Business Studies with an Inte...Minding the gap: Bridging Computing Science and Business Studies with an Inte...
Minding the gap: Bridging Computing Science and Business Studies with an Inte...
 
Mobilizing Learning.
Mobilizing Learning.Mobilizing Learning.
Mobilizing Learning.
 
Winter Projects GDSC IITK
Winter Projects GDSC IITKWinter Projects GDSC IITK
Winter Projects GDSC IITK
 
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
 
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
AGILE, USER-CENTERED DESIGN AND QUALITY IN SOFTWARE PROCESSES FOR MOBILE APPL...
 
Applying User Experience and Usercentered Design Software Processes in Underg...
Applying User Experience and Usercentered Design Software Processes in Underg...Applying User Experience and Usercentered Design Software Processes in Underg...
Applying User Experience and Usercentered Design Software Processes in Underg...
 
NEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONNEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSION
 
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
Development of a Modular Unit of a Higher Level Framework or Tool for Basic P...
 
Presentation on po pshjhhjhekhhkkhkhjpeo
Presentation on po pshjhhjhekhhkkhkhjpeoPresentation on po pshjhhjhekhhkkhkhjpeo
Presentation on po pshjhhjhekhhkkhkhjpeo
 
Introductory PPT CSC202 SECURITY ARCHITECTURE.pptx
Introductory PPT CSC202 SECURITY ARCHITECTURE.pptxIntroductory PPT CSC202 SECURITY ARCHITECTURE.pptx
Introductory PPT CSC202 SECURITY ARCHITECTURE.pptx
 
High vs. low intensity courses. Student Technological Behavior
High vs. low intensity courses. Student Technological BehaviorHigh vs. low intensity courses. Student Technological Behavior
High vs. low intensity courses. Student Technological Behavior
 
Advances In Engineering Education Instructional Strategies To Promote Student...
Advances In Engineering Education Instructional Strategies To Promote Student...Advances In Engineering Education Instructional Strategies To Promote Student...
Advances In Engineering Education Instructional Strategies To Promote Student...
 
PPT.pptx
PPT.pptxPPT.pptx
PPT.pptx
 
Cpe orientation
Cpe orientationCpe orientation
Cpe orientation
 
Virtual programming labs in the programming learning process, preparing a cas...
Virtual programming labs in the programming learning process, preparing a cas...Virtual programming labs in the programming learning process, preparing a cas...
Virtual programming labs in the programming learning process, preparing a cas...
 
Chapter 9 - Emerging Digital Resources: Easy and Accessible Online Tools
Chapter 9 - Emerging Digital Resources: Easy and Accessible Online ToolsChapter 9 - Emerging Digital Resources: Easy and Accessible Online Tools
Chapter 9 - Emerging Digital Resources: Easy and Accessible Online Tools
 
Directional-based Cellular e-Commerce: Undergraduate Systems Engineering Caps...
Directional-based Cellular e-Commerce: Undergraduate Systems Engineering Caps...Directional-based Cellular e-Commerce: Undergraduate Systems Engineering Caps...
Directional-based Cellular e-Commerce: Undergraduate Systems Engineering Caps...
 
Cs8383 oop lab manual-2019
Cs8383 oop lab manual-2019Cs8383 oop lab manual-2019
Cs8383 oop lab manual-2019
 
VIRTUAL LAB
VIRTUAL LABVIRTUAL LAB
VIRTUAL LAB
 
4 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-404 mohammad naderuzzaman_finalpaper--35-40
4 mohammad naderuzzaman_finalpaper--35-40
 

Mehr von Ana Margarida Maia

Young European for Democracy (YED)
Young European for Democracy (YED)Young European for Democracy (YED)
Young European for Democracy (YED)
Ana Margarida Maia
 
Young european for democracy - VIII Jornadas "Ensinar e Aprender com Tec...
Young european for democracy - VIII Jornadas "Ensinar e Aprender com Tec...Young european for democracy - VIII Jornadas "Ensinar e Aprender com Tec...
Young european for democracy - VIII Jornadas "Ensinar e Aprender com Tec...
Ana Margarida Maia
 
Artigo ie tic_2012_v_final_id160
Artigo ie tic_2012_v_final_id160Artigo ie tic_2012_v_final_id160
Artigo ie tic_2012_v_final_id160
Ana Margarida Maia
 

Mehr von Ana Margarida Maia (11)

Young European for Democracy (YED)
Young European for Democracy (YED)Young European for Democracy (YED)
Young European for Democracy (YED)
 
Young european for democracy - VIII Jornadas "Ensinar e Aprender com Tec...
Young european for democracy - VIII Jornadas "Ensinar e Aprender com Tec...Young european for democracy - VIII Jornadas "Ensinar e Aprender com Tec...
Young european for democracy - VIII Jornadas "Ensinar e Aprender com Tec...
 
Vs games2012
Vs games2012Vs games2012
Vs games2012
 
Artigo ie tic_2012_v_final_id160
Artigo ie tic_2012_v_final_id160Artigo ie tic_2012_v_final_id160
Artigo ie tic_2012_v_final_id160
 
Artigo invtur2012
Artigo invtur2012Artigo invtur2012
Artigo invtur2012
 
Role-playing
Role-playingRole-playing
Role-playing
 
Obstáculos encontrados no apoio a docentes do ensino superior para integração...
Obstáculos encontrados no apoio a docentes do ensino superior para integração...Obstáculos encontrados no apoio a docentes do ensino superior para integração...
Obstáculos encontrados no apoio a docentes do ensino superior para integração...
 
An approach for e learning.b-learning dissemination in a higher education ins...
An approach for e learning.b-learning dissemination in a higher education ins...An approach for e learning.b-learning dissemination in a higher education ins...
An approach for e learning.b-learning dissemination in a higher education ins...
 
Resumo do Poster da Challenges'11
Resumo do Poster da Challenges'11Resumo do Poster da Challenges'11
Resumo do Poster da Challenges'11
 
Produção de conteúdos pedagógicos
Produção de conteúdos pedagógicosProdução de conteúdos pedagógicos
Produção de conteúdos pedagógicos
 
Asld'11 london
Asld'11   londonAsld'11   london
Asld'11 london
 

Kürzlich hochgeladen

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
ssuserdda66b
 

Kürzlich hochgeladen (20)

FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdfVishram Singh - Textbook of Anatomy  Upper Limb and Thorax.. Volume 1 (1).pdf
Vishram Singh - Textbook of Anatomy Upper Limb and Thorax.. Volume 1 (1).pdf
 

Artigo Educon2012

  • 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}@utad.pt {leonelm, benjaf, pmartins, hparedes}@utad.pt Arnaldo Santos Portugal Telecom Inovação Aveiro, Portugal arnaldo@ptinovacao.pt Abstract— With the goal of lessening barriers to the learning of attention has been given to helping students progress from advanced programming techniques, we put into place a trial basic programming towards advanced programming [2]. In our which required students to get involved with online communities lecturing experience at the mid-course level (4th semester of a of programmers. Using a course assignment on software 6-semester program), we are regularly confronted with students architecture styles, students had study a problem, find basis for a which can create small programs on their own, as well as adapt tentative approach, and discuss it online with programmers. The and combine small pieces of existing code, yet struggle when expectation was that students would find motivation for their challenged to think about the code structure in more abstract studies from both the contact with communities of programmers, ways. Our lecturing focus is on software architecture, with the and from having to study and reflect upon their problem well Model-View-Controller (MVC) architectural style being a key enough to be able to draw the interest of members of those aspect. In our experience, the general concept of separating communities. We present the strategy we used, the developments and 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 be networks, 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 and related areas. The joint taskforce of the Association for One aspect which drew our attention was the need to Computing Machinery and IEEE Computer Society for motivate students to tackle the challenge posed by having to revision of the Computer Science Curriculum (ACM/IEEE structure a program within an overarching architectural CSC) even states, in its 2008 report, that “there is wide concept. Not only for those students whose programming skills recognition that a considerable amount of work is needed to are somewhat limited and understandably struggle to take them discover better and more effective ways of presenting the an extra step, but also for students who, while being able to discipline of computing” [1], emphasizing the need to adapt code their way around more complex problems, seem not to curricula not only to the technological aspects of computing, value the longer-term benefits of structuring their code in but also to new pedagogical developments: “Institutions (...), different, more manageable ways. We found that for some of must 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 computer programming learning have focused on the difficulties of Part of this problem, we hypothesize, may be due to lack of novices 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 “Programa Operacional Factores de Competitividade - COMPETE” program, and by National Funds through FCT “Fundação para a Ciência e a Tecnologia” under the project: FCOMP-01-0124-FEDER-PEst-OE/EEI/UI0760/2011.
  • 2. programs, and on team-based software development. The programming, object-oriented programming, assembly rationale for this hypothesis is that complexly-woven software programming, and introductory concurrent programming. They artifacts can be managed extensively while one keeps also developed two semester-long “lab” projects on structured developing then alone and continuously, but having to divide programming and object-oriented programming techniques. In programming tasks by a team, explain programming logic to parallel with the MPIII course, they are attending a course on new team members, and debug external code are all situations algorithms, and developing a semester-long “lab” project where 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 of the non-novice level, has been a source of interest for some the ACM/IEEE CSC [1]. The MPIII course aims to support this time. Gender differences in particular, but not only, have drawn by introducing the MVC architectural style, which basically some inquiry on the need to research ways to support the proposes a division of concerns between three blocks: model learning of programming in groups and communities, where (classes holding program state), controller (classes more advanced programmers can provide support to students to implementing program flow), and view (classes dealing with assist 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 have trial, 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 proposed architectures using various real-life frameworks, libraries or by Curry & Grace in 2008 [5]. APIs. For instance: “write a detailed document explaining how to apply the MVC architectural style to application development using the Windows Phone Application Platform and the XNA framework.” To complete these assignments, students had involve themselves in online programming communities as part of the code development (as an actual assignment requirement). Specifically, the assignment involved four stages for students: a) Preliminary study of the problem, including analysis of documentation, and searching for sources on the Web or technical literature, to attain a starting solution; b) Online search for programming practitioners and communities (mailing lists, Facebook public profiles/groups, Twitter users, Web fora, LinkedIn groups, Second Life groups and 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 in general 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 the report with factual evidence of the progress which led to the view (albeit eventually reporting to the controller). Also, K&P final 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 model organization, 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, and A. 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, using of 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. every click on the “New shape” button, the application would them to invite us into these groups, so we could follow these randomly 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 to display 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 groups place in the controller, meant that the code module behind the of students. “New Shape” button would take the role of controller, thus asking the model to generate the data for the new shape (type, TABLE I. THE META- ASSIGNMENT color, coordinates), and then that same code would ask the view 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 1 be 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, debating model 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 class the 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 event to 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 MVC as above. In short, apart from the distinction in processing of architectural style to develop applications using input, the implementation of the C&G flavor is a subset of the Group OpenSimulator/Second Life virtual worlds as a user possible 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 XNA developed the assignments. It was also our intention that 2 framework. The document should include specific students could follow the progress of their peers in this process, implementation examples to illustrate the explanation. to boost confidence. But we also wanted the process in general Group Same as group 2, but employing the Silverlight framework. to be open to mutual access amongst students as a means of 3 peer support, since less skilled students could benefit from checking the work of more skilled students as a source of IV. THE EXAMPLE PROVIDED sample methods and possible outcomes. For these reasons, we used wiki software, which enables online co-editing of A. The theme of the example hyperlinked editing. Students could access their own pages, In order to support the development of the activities by detailing their specific assignment and progress, or check up on students, we developed and provided online an example, as a other students’ pages. Teachers could also at any time check on guide for what was intended. This example was not focused on the progress of each assignment. And comments, questions, computer programming, to avoid having students follow it too and recommendations could be placed on individual pages, by closely, rather than develop their own approaches to literature teachers 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 asking students to create discussion groups on social Web sites such as students to get involved with people outside the academic Facebook, as platforms for casual debate on the development environment. Were we to provide examples of communities of of the assignments, e.g., to discuss on how to proceed or practice and/or professionals linked to programming, it would conduct specific tasks, to discuss viewpoints before committing be highly likely for those to be flooded with student queries them into code or structured text, etc. And we also asked for looking to reproduce our example, rather than seek alternatives.
  • 4. So, we elected to provide an example where the subject was e- although nowadays we would also have the option of business, 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 to provide a list of sample Web sites, sample papers, sample bibliographic reference style, and sample reading notes. C. Example materials for phase 2 For supporting phase 2, we searched for on-line public contacts of experts and communities of practice on the theme of e-business, mimicking what we wanted students to do for programming. As mentioned above, since these contacts were not related to programming, we were avoiding the risk of students flooding the sample contacts with queries, rather than making their own efforts to find communities and get involved in them. Figure 3 presents some examples provided regarding communities 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 http://mpiii20102011.pbworks.com. 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. Amongst the groups of Table IV, only 7 sustained some able to provide usable examples of approaches to solve it. This activity 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 this presented in Table V, showing that the editing activity took assignment, whose weight on the final grade was 20%. The place every other day or every three days (except for group 1, ones with clearly “positive” reports and/or presentations were which 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 activity Group 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 assigned theme was, as mentioned in section III, an online report of the Figure 6. Locales used by students for finding and communicating results and a class presentation summarizing them. Analyzing these outcomes, we analyzed them for grading. Summarizing On the main difficulties felt, students pointed two as the the results for this paper, we are labeling them as “positive” main ones: understanding what was being asked of them when their overall quality demonstrated that students had (56%), and finding professionals and communities in the field learned significant aspects of their assigned theme and were (62%). Understanding the actual assignment and solving it was
  • 6. also a difficulty for 44% of students. Language barriers and this course in spite having failed basic-level programming collaborative 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 that reported lack of time as the main issue, with lack of feedback coming across communities and experienced developers online on the developed work (44%) and lack of motivation (41%) as was their major difficulty, they also expressed their view that the subsequent most important issues. Not understanding the meeting them/participating and clearing doubts this way were subject matter followed (31%), with minor issues being low the main factors supporting a strong perspective on the technological skills (22%) and lack of comprehension of the adequacy of this assignment in the course. Part of this may also assignment 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 community adequate 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 human experts” (50%), followed by “I met experts and discussion community environment. Also, some students got reprimanded groups in the field, and shared experiences which enriched my in communities for trying to basically ask for a solution for a learning” (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 professional various assignment phases” (31%), “I couldn’t communicate communities value competence and effort over quick fixes. effectively in the discussion groups” (25%), “the difficulty level of the assignment was too high” (25%), and “the problem assigned to me was too complex” (22%). 8% of students had VII. FINAL THOUGHTS AND FUTURE WORK other 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 the successful outcomes. Only 7 groups presented some output development of educational strategies to encourage and support throughout the various phases of the project, and only 4 the sustained and regular participation of students in experienced positive feedback from their involvement with communities. It was important for us, as lecturers, to realize professional developers and online communities of practice, as that students still hoped to be able to overcome lack of shown 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 the also a relevant source, their reports don’t actually provide any approach in subsequent editions of the course. It is our hope concrete evidence of that, which leads us to hypothesize that that ultimately we can support effective involvement of perhaps 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 ACKNOWLEDGMENT but one group tried to complete the assignment in a small span We would like to thanks all students for their participation of the four months of time provided. This leads us to conclude in the assignments supporting this work. We also wish to thank that students may have underestimated the need to devote time all professionals and community members contributing to the over a long period in order to get involved with communities efforts of students. and gain the attention of professional developers. Their reports point towards focused bursts of posting and communicating, REFERENCES rather than to long-haul distributed time allocation. And often [1] Association for Computing Machinery (ACM) & IEEE Computer trying to approach communities with little investment in a Society (IEEE-CS), “Computer Science Curriculum 2008: An Interim starting solution/proposal (or without a starting solution at all). Revision of CS 2001.” Computing Curriculum Series. http://www.acm.org//education/curricula/ComputerScience2008.pdf 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 Teaching relevant 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 Engenharia feedback 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. [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 ICLS'08 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,” http://pbworks.com/ (retrieved 2011-11-21).