=Paper= {{Paper |id=Vol-2799/paper4 |storemode=property |title=Programming Project in an Undergraduate Software Engineering in the New Normal: Challenges and Proposed Solutions |pdfUrl=https://ceur-ws.org/Vol-2799/Paper4_SEED.pdf |volume=Vol-2799 |authors=Rex Bringula,Sheila Geronimo,Ariel Aviles |dblpUrl=https://dblp.org/rec/conf/apsec/BringulaGA20 }} ==Programming Project in an Undergraduate Software Engineering in the New Normal: Challenges and Proposed Solutions== https://ceur-ws.org/Vol-2799/Paper4_SEED.pdf
Programming Project in an Undergraduate Software Engineering
in the New Normal: Challenges and Proposed Solutions
Rex Bringula a, Sheila Geronimob and Ariel Avilesc
a
  University of the East, 2219 CM Recto, Manila, Philippines
b
  University of the East, 2219 CM Recto, Manila, Philippines
c
  University of the East, 2219 CM Recto, Manila, Philippines

                 Abstract
                              This paper reports the practices of two faculty members
                              of a software engineering course in one university in
                              Manila in terms of programming project requirements
                              during face-to-face sessions (i.e., before the COVID-19
                              pandemic) and the pandemic. It presents the challenges
                              of implementing this course requirement in the time of
                              the pandemic as well as the proposed solutions to
                              address these issues. It concludes that the activities
                              relating to the software project can still be pursued with
                              modifications and with the teaching styles of the
                              teachers. Future research directions are also offered.

1. The Undergraduate Software Engineering Course before the Pandemic

     The undergraduate Software Engineering course (subsequently referred to as SE) is a 3-unit
course offered in one university in Manila. This is one of the major courses in Computer Science,
Information Technology, and Information Systems degree programs. The course requires 54 contact
hours that are split into a 36-hour lecture and 18-hour laboratory sessions. In the lecture sessions,
teachers use different teaching-learning strategies (e.g., discussions, group activity, role-playing, etc.)
and assessment tasks (e.g., seat works, quizzes, exams, case analysis, group discussions, etc.) [1].
During the laboratory sessions, students develop the software they choose. Both sessions are
conducted in a face-to-face setting which requires the presence of the teacher. The course syllabus
entails discussions of introduction to SE, process models, Agile software process development,
project scheduling, requirements engineering, requirements modeling, design concepts, quality
concepts, configuration management, and risk management. The course requires students to analyze,
design, develop, and test system models. Students are also expected to develop team collaboration and
management skills as well as communication skills. To achieve these goals, the students are required
to present their developed systems.
     A team of four to five members develops software based on the client's needs (Table 1). The
team is composed of a team leader, programmer, user-interface designer, systems tester, and
document analyst. The team leader oversees the overall progress of the project and the performance of
the team. The programmer does the actual coding while the user-interface designer ensures the ease of
using the interfaces of the system and the usability of the system as a whole. The primary function of
the systems tester is to examine all possible loopholes of the software and to recommend
improvements of the software to the programmer. Finally, the document analyst generates and
compiles all records, and develops a systems manual. Throughout these activities, they are required to
submit a progress report to the team leader who, in turn, submits it to the teacher.
Joint Proceedings of SEED & NLPaSE co-located with APSEC 2020, 01-Dec, 2020, Singapore
EMAIL: rexbringula@gmail.com (A. 1); ariel.aviles@ue.edu.ph (A. 2); sheila.geronimo@ue.edu.ph (A. 3)

            ©️ 2020 Copyright for this paper by its authors.
            Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
            CEUR Workshop Proceedings (CEUR-WS.org)
 Figure 1: Individual Participation Rubric (Adapted from [5])
    The team members are graded individually (Figure 1) as well as a group (Figure 2). For the first
rubric (Figure 1), a student may acquire a minimum of 7 points and a maximum score of 28 points.
The lowest score that a team can receive is 20 points and the highest possible score is 80 points
(Figure 2). The rubric in Figure 3 is used for individual assignments or activities (e.g., investigation of
related systems or software).
    The current COVID-19 pandemic challenged the current practice of development and presentation
of the application of a real-world system (e.g., [15]). Before the pandemic, students were required to
develop and implement an application system for a client. This practice is no longer feasible because
of the current lockdown. Furthermore, the course will be implemented in a fully online environment.
Therefore, the delivery of the content will also be challenging since this is the first time that the
course will be implemented online. This paper reports the practices of two male faculty members
handling Software Engineering course in one university in Manila before the COVID-19 pandemic. It
also presents the challenges in the SE project brought by the pandemic and the proposed solutions in
addressing these challenges.
   Figure 2: Group Presentation Rubric (Adapted from [17])




Figure 3: Rubric for Research Activity (Adapted from [18])
2. Software Engineering Programming Project in an Online Learning Setup
     According to McCombs and Vakili [14], e-learning follows psychological principles. One of
these principles is setting standards and assessments. This principle aims to assess the learners in their
learning progress. Another principle states that learners may experience constraints on learning. Thus,
the curriculum must be customized based to allow learners to see the progress they are making in the
course. In other words, the curriculum must be flexible and dynamic which is based on the needs
and/or constraint considerations.
   Edwards [7] shared his teaching strategies in an online graduate Software Engineering program at
Virginia Tech. The learning activities include reading assignments, class discussions, homework
assignments, group project assignments, and final examination. The first group project assignment
entails small group projects where a team of students with 3-4 members collaborates to develop a
realistic application. The instructor provides synchronous (e.g., chat sessions) and asynchronous (e.g.,
email and discussion board) support Students may meet face-to-face or online in performing the
assigned tasks. The second group project involved testing the developed system of the other groups.
The preliminary evaluation of this course delivery technique showed that the students enjoyed the
course and understood the course materials.
   The study of Jacobsen et al. [9] reported their experience with two distance graduate courses in
software engineering. They utilized WebCT, electronic mail, a list server, and NetMeeting in the
implementation of the course. They recommended that there should be mechanisms and support
systems that will allow iterative development and assessment of distance learning. They also reported
that time lags, unexpected barriers, and longer course development periods in teaching the course
online. Some features of WebCT are not used because they are not applicable in graduate distance
learning. It was shown that distance learning requires well-structured and well-indexed web materials
and resources to be established. Recently, mobile applications are gaining popularity as a resource for
software engineering materials [13, 20].
   Edwards and Sridhar [6] investigated the effectiveness of global virtual teams in software
engineering projects. Specifically, the study determined the relationship between the independent
variables (e.g., ease of use, the structure of project tasks, the effect of the time difference, trust
between teams, academic orientation, cultural orientation, and size of the team) and the dependent
variables (e.g., learning effectiveness, quality of projects, team project experience, and software
engineering process). The participants of the study are master’s degree students in India and Canada
with 3-6 members in a team. It was revealed that ease of use of technology, trust between the teams,
and well-defined tasks structure were related to learning effectiveness, project experience, and
software engineering process. The study concluded that ease of use of technology, trust between the
team members, and well-defined task structure were the factors that have a positive relationship with
the efficiency, effectiveness, and satisfaction level of global virtual teams.
   Leung [11] compared the effectiveness of e-learning and traditional courses delivery of a graduate
course in software engineering. The e-learning course is supported by online teaching materials,
assessment tools, online tutorials via audio conferencing, and bulletin board discussions. The class
formed a team consisting of 3-4 members for a group project. The project involved a survey of a
particular testing method or a detailed proposal to implement a certain testing method. The traditional
model involved 13 weeks of face-to-face lectures and tutorials with the same course requirements. It
was found that the e-learning mode is as effective as the traditional mode of teaching.
   Bouillon et al. [2] that communication, coordination, and collaboration were the challenges in
implementing software engineering projects. A software engineering project is a major requirement of
the course. Students should develop a project of realistic scope using realistic software development
tools. To achieve this goal, the researchers used software named ECLIPSE which allowed distance
learning students to collaborate in a team to produce a large software system. The study found that the
system facilitated communication among the team members. However, it failed to define clearly the
tasks and responsibilities of group members.
   Demir [4] investigated the difficulties faced by 78 software practitioners in managing a software
project. The author found that the top 10 challenges software engineers face are in the areas of scope
management, requirements management, project planning/estimation, communication, staff/hiring,
project monitoring/control, risk control, technical complexity, stakeholder involvement, and
leadership. The author also found that the project is more difficult to manage when the team is
relatively large (with 11-100 members).

3. Methodology

   This qualitative study interviewed two faculty members in one university in Manila. Both faculty
members have at least 20 years of teaching experience and have international certification in Scrum
Methodology. Telephone interview sessions with the two were conducted to gather data. They were
asked about the nature of the SE programming project, their teaching practices before the pandemic,
the challenges brought by the pandemic in terms of executing the software project development, and
the proposed solutions to these challenges.
   Responses (subsequently referred to as text) were analyzed through the grounded theory approach
to determine the emerging themes. The themes were categorized based on the activities in the
development of the project (Table 1). The activities are based on the practice of the informants. The
approach includes open, axial, and selective coding, and constant comparative methods [1]. Using a
word processor, the first researcher coded the texts independently. The codes were guided by the
questions “What keyword/s, phrase, or sentence that could capture the idea of the informants’
response with the question?” and “How can these codes be valuable in explaining their response?”.
Open codes were identified through the keywords, phrases, or sentences that could represent the
responses of the informants were identified in the text.
   The open codes were verified through consultation with the second researcher. The first researcher
presented the codes to the second researcher. The purpose of the presentation is to determine whether
the second researcher would agree. In case of disagreements, the researchers deliberated until a
consensus was achieved (i.e., at least 2 researchers have the same views on the issue being resolve).
These steps were repeated until all open codes were analyzed. The texts are then combined to
determine if the texts are relevant to the themes.
   To maintain the accuracy of this report, these writers sent the paper to the informants (i.e.,
respondents of the interviews) and sought their comments and suggestions. The paper was revised
until the authors and the informants reached a consensus.

4. Programming Project during the COVID-19 Pandemic, Key Challenges, and
   Proposed Solutions
    Table 1 shows the summary of activities for the programming project requirements before the
pandemic and the key challenges during the pandemic. The grounded theory approached identified 13
key challenges.

(Key Challenge 1) Attainment of Course Outcome, (2) Determination of Scope of Work, (5) Digital
Collection of Software Projects, (6) Topics Duplication, (7) Beneficiaries of the System, (8) Project
Scope Definition, and (12) Systems Implementation

   All activities leading to the completion of the project resembled a virtual team since all members
who were distributed geographically, collaborated online [12,16]. The primary challenge brought by
the pandemic was to relax the course requirements without sacrificing the need to meet the course
outcomes. The previous practice of selecting a topic and defining the scope of the project involved a
frequent visit to the library and a series of personal interviews with the stakeholders, clients, or
customers. These prior activities are no longer feasible because of the lockdown. The key issue
involving topic selection and scope definition is that the library's digital collection of previous
projects is not available online. Students' prior works are submitted as hard copies and are not
digitized. Therefore, there is a need to limit the scope of the programming project, at least for SE,
since students are not able to physically visit the library and a company, to interview key personnel,
and to gather insights from a company that could serve as their client. Even if the lockdown is lifted,
the threat of being infected by the virus is still high because the number of infections is still rising.

Table 1. Summary of Activities for Programming Project before COVID-19 Pandemic, Key
Challenges, and Proposed Solution
       Activities          Before the              Key Challenges           Proposed Solution        Basis
                         Pandemic
Description of the  Students are required 1. Attainment of the course  Submission       of  a  McCombs              and
project requirement  to submit a fully outcome                           prototype system         Vakili [14]
                     functional system
Determination    of  4 to 5 students per 2. Determination of the  Retention of the team size  Edwards       [7],
Team     size   and   group                   scope of work of each       and composition           Edwards    and
composition                                   team member                Re-definition of tasks    Sridhar    [6];
                                                                                                    Bouillon et al.
                                                                                                    [2]
Member inclusion     After a few face-to- 3. Students, not knowing  Distribution of the class  Jacobsen et al.
                      face         meetings, who       is    officially   list thru the Learning    [9]
                      students select their enrolled in the course        Management         System
                      team members during 4. Difficulty              in   (LMS) and selection of
                      class sessions.         determining if the team     members by the students
                                              reached the maximum  Use           of    the    LMS
                                              number of members           Grouping function

Topic selection      Students may visit the 5. Non-digitized copies of  Proposal of a "generic"  Bouillon et al.
                      library for hard copies software projects            prototype system instead [2]
                      of existing systems 6. Duplication of topics         of a fully functional  Mahatanankoon,
                     Stakeholders/clients/c 7. The difficulty of finding  software                 et    al.  [13],
                      ustomers      can    be possible                                              Vollmer [20]
                      consulted                 stakeholders/clients/cust
                                                omers (i.e., beneficiaries
                                                of the system)

Scope definition     Students may visit the 8. Not well-defined project  Use of the library digital  Jacob et       al.
                      library for hard copies scope                         collection and Google       [2000],    Demir
                      of existing systems                                   Scholar for review of       [4]
                     Stakeholders/clients/c                                related systems
                      ustomers      can    be
                      consulted
Actual coding        Independent        and 9. Systems       integration  Proposal of a "generic"  Bouillon et al.
                      group work                since they are working      prototype system will be    [2], Demir [4]
                                                remotely/ independently     proposed instead of a
                                                                            fully functional software
Monitoring           Progress is reported 10. The difficulty of taking  Progress report during  Jacob et            al.
                      during class sessions      turns through real-time  synchronous           or [2000],
                      (i.e., group reporting)    meeting applications     asynchronous sessions
                                              11. Intermittent Internet
                                                  connection

Implementation       Students implement 12. Implementation          not  Proposals of web-based  Jacob         et   al.
                      the software to the        feasible because of       or mobile-based systems.      [2000]
                      company                    lockdown                 Alternative redefinition
                                                                           of        the        course
                                                                           requirement.
Presentation         A working system 13. Intermittent           power  Presentation             and  Jacob    et   al.
                      together with its          supply to some areas      documentation        during   [2000]
                      documentation       is                               synchronous sessions
                      presented during class Intermittent       Internet  Submission ahead of the
                      sessions                    connection               presentation
                                                                          Provision of ample time
                                                                           for the presentation
                                                                          Pre-recording of the
                                                                           presentation
(3) Member Inclusion and (4) Team Size

    Another activity is the determination of member inclusion. Because students work as a group, the
inclusion of a member with a tendency not to perform well has an impact on the overall project and
the team [19]. In a classroom setup, a teacher may require a series of group work and individual
activities so that students can easily identify who among their classmates they are comfortable to
work with. This group dynamics may not be observed during online sessions. Furthermore, it is easier
to determine whether a team reached the required number of members by simply asking the team one
by one. This has become a challenge in an online setup since students do not know who is officially
enrolled in the class and how to initiate forming a team. The proposed solution for the issue is to send
the official class list to the students through the Learning Management System. Afterward, teachers
may use the Group Discussion function of the LMS. This LMS functionality allows teachers to set a
virtual space for the teams. The virtual space is partitioned into several groups and each group has a
specified number of members (e.g., 4-5 members per group). Students of the same team will occupy
one virtual space. Students will not be able to occupy multiple virtual spaces. Team composition is
retained since the team size in this study is consistent with prior studies [2, 6, 7].

(9) Systems Integration, (10) Monitoring Teams’ Progress

     While a particular student may be designated as a programmer, all members of the team may play
this role. Students collaborate in developing the software; sometimes, they schedule sleepover
sessions to finish the project. In other words, before the pandemic, the software is built in a
cooperative environment. In this period of a public health crisis, students are compelled to write the
program all by themselves because assistance and feedback from their teammates may not be easily
available. The team may work independently on different modules and later integrate them to build
the software. However, this poses a challenge to the team since each of them may have different
programming level skills, styles [3], and personalities [10].
     The progress of a project is tracked through the Gantt chart and it is presented during classroom
sessions in a periodic manner. Each member of the team presents their accomplishments on their
tasks. They are rated accordingly using the rubrics shown in Figures 1 to 3. Progress report activity
and the use of the same rubrics are practiced in an online class since this is an integral of the syllabus.
The key challenge in this activity is the intermittent Internet connection which, in turn, leads to the
difficulty of taking turns in the presentation. To address this, a flexible form of presentation can be
done either through synchronous or asynchronous sessions. During the asynchronous sessions,
students may record their presentations and upload them to the LMS. This practice is similar to that of
Edwards [7].
     It was found that both informants agreed that the monitoring of progress is favorable to the
teachers and students. Unlike in a classroom setup which is very rigid in terms of class attendance,
asynchronous learning sessions allow students to work without pressure. Two-thirds (or 36 hours) of
the total class hours allotted to asynchronous sessions are sufficient to develop the prototype system.
From the teachers' perspective, these asynchronous sessions can be used to check the progress of the
students and check other course requirements. The interview also revealed that the implementation of
the completed software may not be viable during this pandemic. One of the proposed solutions is to
shift all proposals to web- or mobile-based systems. However, this may not be feasible since students
may not have taken yet the skills in the development of these kinds of systems. An alternative solution
is to re-define the course requirement, i.e., a prototype of these systems may be presented instead of a
fully functional system.

(11) Intermittent Internet Connection and (13) Intermittent Power Supply

     Finally, the primary concern of teachers is the intermittent Internet connection during project
presentation. This finding is consistent with the findings of Fabito and his colleagues [8]. The
informants agreed that this can be resolved through early submissions of the documentation and the
pre-recording of the presentation. Teachers may read the documentation and list all the questions
ahead of the presentation. A 15-minute video presentation will be presented through the LMS
conference system or any online meeting application. Teachers may then ask questions after the
presentation. One of the informants said that some students also experienced intermittent power
supply. Therefore, teachers must account for these situations in the timetable of the project
presentation.
      The two informants further pointed out that in an asynchronous setup, students are forced to
practice self-regulated learning strategies. Here, students heavily rely on the lectures, videos, and
presentations of the faculty. Students are reinforced to plan for their learning assignments, monitor
their performance, and evaluate the outcomes. The asynchronous learning sessions also pushed them
to create their learning environment in a convenient time and space. Overall, the study found 13 key
challenges in teaching SE in this time of pandemic (Table 1).
    The course requirement is changed in terms of the nature of the system. This is consistent with
McCombs and Vakili [14] considering the constraints in the implementation of the prior requirement.
Nonetheless, even though the nature of the project is changed, students are still required to develop a
generic prototype of the system and undergo the process of software development. Changing the
nature of the system did not entirely change the process of software development. To retain the
learning outcomes, all projects must be a prototype of web-based systems (e.g., e-commerce websites,
online billing systems, hotel reservation systems, etc.) or mobile applications. As mentioned in the
literature review section, there is a growing body of research on mobile and web-based application
systems. Thus, students will find it easier to analyze similar systems and formulate their software
projects. With these types of systems, students can still simulate the analysis, design, development,
and testing of system models. Team collaboration, management skills, and communication skills can
still be achieved since the current LMS, instant messaging tools, and online meeting tools (e.g.,
Zoom, Google Meet, etc.) can facilitate collaboration, communication, and coordination. The
requirement of the course in terms of presentation is achievable through the proposed solutions. With
the use of online meeting applications, students can still present their projects and can be graded
accordingly using the rubrics. Individual performance tasks are monitored and assessed since the
work definition of each student is clearly defined. Therefore, the proposed solutions can still achieve
the desired learning outcomes of the course. The above recommendations are in agreement with the
studies of Bouillon et al. [2], Edwards [7], Edwards, and Sridhar [6], Jacobsen et al. [9], and Leung
[11].

14.Conclusion and Future Research
     This workshop paper reports the practices of two SE faculty members in one university in Manila
in terms of managing the final requirement of the course (i.e., software project). While it is obvious
that the COVID-19 pandemic disrupted the classroom practices of software programming, it found
that the teachers think of ways to address the key issues and willingly share their proposed solutions
to address the identified 13 key challenges in teaching a software project. Of these challenges, the
faculty members could not directly address the issue of Internet connection and power supply. It is
worth noting that all activities and the rubrics are retained because of the creativity and flexibility of
the faculty. Thus, it can be concluded that the software engineering programming project can be
pursued during the pandemic.
     At the end of the semester, the two informants plan to evaluate the effectiveness of the proposed
solutions in terms of appreciation of course content. Feedback may be elicited from the students to
identify improvements in the proposed solutions.

15.Acknowledgement
   This paper is partly funded by the University of the East. The authors are indebted to the
informants of the study and Dr. Mila Arias.
16.References
[1] R. Bringula, R Elon, L. Melosantos, J. R. Tarrosa, Teaching Agile Methodology through Role-
        Playing: What to Expect and What to Watch Out, Proceedings of the 2019 3rd International
        Conference on Education and Multimedia Technology, 2019, pp. 355-359.
[2] P. Bouillon, J. Krinke, S. Lukosch, Software engineering projects in distant teaching, in:
        Proceedings of the 18th Conference on Software Engineering Education & Training
        (CSEET'05), IEEE, 2005, pp. 147-154.
[3] F. Q. Da Silva, C. Costa, A. C. C. Franca, R. Prikladinicki, Challenges and solutions in distributed
        software development project management: A systematic literature review, 5th IEEE
        International Conference on Global Software Engineering, 2010, pp. 87-96.
[4] K. A. Demir, A Survey on Challenges of Software Project Management. Software engineering
        research and practice, 2009:579-585.
[5] District 186 Springfield Public Schools, Teammate participation rubric, available at
        https://www.sps186.org/downloads/basic/285671/Teammate?fbclid=IwAR3QAhWc_7Vt-
        i0C25Ty2i8fEirj_YrEjIL71VMvpfKuAWHzbReLxAPWBfg
[6] H. K. Edwards, V. Sridhar, Analysis of the effectiveness of global virtual teams in software
        engineering projects, in: Proceedings of the 36th Annual Hawaii International Conference on
        System Sciences, IEEE, 2003, pp. 9-17.
[7] S. Edwards, Can quality graduate software engineering courses really be delivered asynchronously
        on-line?, in: Proceedings of the 22nd international conference on Software engineering, ACM
        Press, New York, NY, 2000, pp. 676-679.
[8] B. S. Fabito, A. O. Trillanes, J. R. Sarmiento, Barriers and challenges of computing students in
        an online learning environment: Insights from one private university in the Philippines,
        International Journal of Computing Sciences Research, 5(2021): 451-458.
        https://dx.doi.org/10.25147/ijcsr.2017.001.1.51
[9] M. Jacobsen, R. Kremer, M. L. Shaw, Experiments with distance learning in software engineering
        graduate courses. ACM SIGCSE Bulletin, 32.2(2000): 56-59.
[10] J. S. Karn, S. Syed-Abdullah, A. J. Cowling, M. Holcombe, A study into the effects of
        personality type and methodology on cohesion in software engineering teams, Behaviour &
        Information Technology 26(2007): 99-111.
[11] H. K. Leung, Evaluating the effectiveness of e-learning, Computer Science
        Education, 13.2(2003): 123-136.
[12] S. C. Lilian, Virtual teams: Opportunities and challenges for e-leaders, Procedia-Social and
        Behavioral Sciences 110 (2014):1251-1261.
[13] P. Mahatanankoon, H. J. Wen, B. Lim, Consumer-based m-commerce: exploring consumer
        perception of mobile applications. Computer standards & interfaces, 27(2005): 347-357.
[14] B. L. McCombs, D. Vakili, A learner-centered framework for e-learning. Teachers college
        record, 107(2005): 1582-1600.
[15] G. C. Ng, A Study of an Agile methodology with scrum approach to the Filipino company-
        sponsored I.T. capstone program. International Journal of Computing Sciences Research,
        2.2(2018): 68-88. doi:10.25147/ijcsr.2017.001.1.25
[16] G. Paré, L. Dubé, L. Virtual teams: An exploratory study of key challenges and strategies,
        in: ICIS 1999 Proceedings, 2019, p. 50. Available at http://aisel.aisnet.org/icis1999/50
[17] PBL 101, Workshop Resources, available at
        https://pbl101.weebly.com/uploads/3/1/3/1/31318861/group_presentation_rubric.pdf
[18]RCampus,        iRubric:    ENG/LA        7     Research     Activity     rubric,     available    at
        https://www.rcampus.com/rubricshowc.cfm?code=RX69A79&sp=yes&
[19] R. N. C. Recario, M. B. B. de Robles, K. E. P. Bautista, J. P. Pabico, Social Loafing Among
        Members of Undergraduate Software Engineering Groups: Persistence of Perception Seven
        Years After, arXiv preprint arXiv:1509.05338, 2015.
[20] T. Vollmer, There’s an App for That. Libraries and mobile technology: An introduction to public
        policy considerations. USA: ALA, Office for Information Technology Policy, 2010.