<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Conducting a Fully Online Education of a Software Engineering Course with a Web Application Development Component due to the COVID-19 Pandemic, and Its Evaluation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yuki Yamada</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Keychi Furukawa</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Atsuo Hazeyama</string-name>
          <email>hazeyama@u-gakugei.ac.jp</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information Science., Tokyo Gakugei University</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Graduate School of Education., Tokyo Gakugei University</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p />
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>On account of the COVID-19 pandemic, a number of educational
institutes have been forced to execute online distributed education. We
have been providing an introductory software engineering course that
conducts the practice of web application development in addition to
lectures. Our goal was to provide students with a face-to-face
lecturelike experience in a fully online distributed environment. We have
redesigned the course to achieve this goal, with less preparation time
(about two weeks). We have been holding an introductory software
engineering education that conducts practice of web application
development in addition to lectures. In traditional subjects, conducting
lectures as well as practices, the instructor and teaching assistants walk
around the class, check how the students are doing, identify and guide
the students who have trouble with their practices. In distributed
education, it is di cult to do accomplish these tasks; therefore, some
measures are required. For this reason, we have developed tools to
automate the building of a software development environment on
students' PCs and to support questions and answers during web
application development tasks. In this paper, we report on the practice of web
application development in this course and the students' evaluations
thereof.</p>
    </sec>
    <sec id="sec-2">
      <title>Introduction</title>
      <p>
        On account of the COVID-19 pandemic, several educational institutes have been forced to execute online
distributed education. In Japan, a new school semester usually starts in April. In 2020, this start was delayed for
about a month, and the semester started in May in our university. Two weeks before the start, our university
announced that all courses must conduct fully remote online education. Our goal is to provide students with
a face-to-face lecture-like experience in fully online distributed education. We have to redesign the course to
achieve this goal, with less preparation time. Bourne et al. pointed out the di culty of building an environment
for practice, and coaching including communication, for online engineering education[1]. Some measures are
required to address these di culties. Thus far, we have provided an introductory software engineering education.
This course conducts practice of web application development in addition to lectures given by an instructor. For
practice, students are required to build their software engineering environment on their own personal computers
(PC). After setting up their development environment, they create projects using the source program provided
by the instructor and work on the assignments. The development environment consists of plural open source
software. While building their development environment, the di erences among students' PCs cause trouble. When
building their software engineering environment and troubleshooting during application development, coaching
involving communication between the teaching sta and students become important. The teaching sta provides
support to students in the form of questions and answers. As such, in the fully online implementation of this
course, we need to consider issues related to (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) building a software engineering environment on the students' PCs
for practice and (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) troubleshooting when students encounter problems during application development tasks.
      </p>
      <p>To solve these issues, we have developed tools to automate the construction of the development environment
and to support students in troubleshooting during their web application development practice.</p>
      <p>In this paper, we report on the practice of this lecture and the students' evaluation of the lecture.
2</p>
    </sec>
    <sec id="sec-3">
      <title>Overview of the course</title>
      <p>The target course of this study is called \Design of Information Systems." 1 The course is o ered for third-year
undergraduate students majoring in informatics education (full quota of fteen students). The students learn the
basics of software engineering as well as simple web application development using the JSP/Servlet technologies
and relational database management systems. To that end, our department o ers courses on programming,
databases, and so on in the previous ( rst-fourth) semesters before the Design of Information Systems course
( fth semester).</p>
      <p>Thirty-one students took the course in 2020, and two teaching assistants supported the course. Our university
requires all students to own a PC (BYOD: Bring your own device). Students use their PCs to build the required
software engineering environment for this course. The software engineering environment consists of the Java
programming language, MySQL RDBMS, and the Gradle build tool. In the following, we provide an overview
of the implementation of this course in a face-to-face fashion as it has been conducted until recently. Then, we
provide a brief explanation of our remote online education environment. We discuss some issues in conducting
application development practice in a fully remote environment. This course uses their PC to build their software
engineering environment.
2.1</p>
      <sec id="sec-3-1">
        <title>An overview of practice in the previous years</title>
        <p>Before the 2019 academic year, students built the required software engineering environment for this course
according to the instructions provided by the instructor during class time. When troubles occurred, the students
would ask colleagues or the teaching assistants (TAs) to support them, in a face-to-face fashion. After building
the environment, the students studied RDBMS MySQL. Then, they created some Gradle projects using the
source programs provided by the instructor and con rmed their execution. At this point, students would get
in-person support from colleagues and the TA, should they encounter any issues. However, in the 2020 academic
year, face-to-face classes are not allowed because of the COVID-19 pandemic. The class is held once a week;
however, it is held via an online meeting system.</p>
        <p>1The syllabus of \Design of Information Systems",
http://tgusyl.u-gakugei.ac.jp/ext syllabus/referenceDirect.do?nologin=on&amp;subjectID=237100002507&amp;formatCD=1
In the current situation, we have to give lectures via a remote meeting system. We decided to use Microsoft
Teams2(hereafter, we use the term Teams) to give lectures in a synchronous manner, because it is a platform used
by our university. The users of Teams can hold meetings in a unit called a \team." They can create a chatroom
called a \channel" per topic within a team. Teams provides a chat function that allows users to communicate
with those outside a team. In a meeting or a chat, participants/users can share their screens. The teacher creates
a team for this course, whose members are students who apply to this course, the TAs, and himself. Lectures are
given within this team by presenting learning materials through the screensharing feature and explaining them
via a microphone. Questions during class times should be submitted via text chat in Teams. The teacher also
accepts questions via the chat function outside the class time.</p>
        <p>We also distribute programs and various instructions as well as materials for lectures via a learning
management system (LMS), as we have done thus far.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>This section describes the related studies from two viewpoints: online software engineering education, and online
engineering education in response to the COVID-19 pandemic.
3.1</p>
      <sec id="sec-4-1">
        <title>Online software engineering education</title>
        <p>Ellis presented the implementation of distributed software engineering education [2]. Before its implementation,
face-to-face sessions were conducted. The target students were professional students. However, we must prepare
a fully distributed online educational environment for novice university students.</p>
        <p>Bourne et al. described the future practices of online engineering education in their 2005 article [1] : \Learning
Anywhere, Anytime." It di ers from our online, live education.</p>
        <p>Massively Open Online Courses(MOOCs) are conducted in a fully distributed online educational environment.
While Fassbinder et al. state that \their (MOOCs') potential in Software Engineering Education remains
underinvestigated," they consider how MOOCs for software engineering education should be designed and their
challenges, in addition to the development of a case [4]. MOOCs users assume that learning environments are
online. On the other hand, our students are experiencing a forced change in their learning environment, from a
face-to-face to a synchronous and fully online fashion. Furthermore, we must redesign our course in a very short
time.
3.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Online education in response to the COVID-19 pandemic</title>
        <p>We introduce some studies regarding the practices of online engineering education in response to the COVID-19
pandemic.</p>
        <p>Suryaman et al. reported the results of their questionnaire with the goal to evaluate whether online education
is properly conducted for students and faculty in civil engineering [5]. They concluded that it is important to
provide learning materials so that students do not feel bored, and that easy access is necessary, since they do
not always want to attend online education classes.</p>
        <p>2Microsoft Teams, https://microsoft.com/teams/</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>A support tool for development practice</title>
      <p>
        As described in Section 2.3, we have developed a tool to deal with the issues of (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) building a software engineering
environment on the students' PCs for practice and (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) troubleshooting when students encounter troubles during
application development. To deal with (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ), we tried to automate the building of the software development
environment. To address (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ), we collected and checked the students' software and error log information and send
a noti cation to Teams (an educational platform used in this course.) We have developed a tool to perform these
tasks.
      </p>
      <p>This tool consists of two scripts and one application that runs on Function as a Service (FaaS). One script
is to build the software engineering environment, and the other is to support troubleshooting tasks during web
application development. The application noti es the teaching sta of the results of the script. Figure 1 shows
an overview of the support tool for development practice. When a student executes a script, the result is sent
to the application running on the FaaS environment. Then, the application noti es Teams.</p>
      <p>In the following subsection, we describe the details of the tool.
4.1</p>
      <sec id="sec-5-1">
        <title>The application to notify the educational platform, Teams</title>
        <p>We implemented a mechanism for the teaching sta to ascertain the results of the students' script executions,
which sends a noti cation to Teams. The mechanism is implemented using Netlify3 FaaS environment. FaaS is
an event-driven service, and we can describe various processing by a web request with the HTTP communication
protocol as a trigger.</p>
        <p>When the application receives the web request including the text le that is returned from the script execution,
it veri es the text le, extracts the contents from the text le, and noti es Teams using the Incoming Webhooks.
Even when the Webhook request fails, the results are stored in a database to ensure that the con rmation of the
execution results is not skipped. This mechanism allows the teaching sta to ascertain the status of the students
on Teams.
4.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>The script to build the software engineering environment</title>
        <p>The preparation of a software engineering environment for all students is crucial, because a slight di erence
in software engineering environment (e.g., di erences in programming language versions) cause problems in
application development. We suppose that the students use Windows or macOS on their PCs. To address the
di erences in the operating systems (OS) they use, we prepared a PowerShell script for Windows users and a
bash script for macOS users. The script needs to install a set of software to be used in this course, namely Java,
MySQL, and Gradle, on the students' PCs. The software was installed using package management software (e.g.,
Chocolatey4, Scoop5, and Homebrew6). If the package software was not already installed on the students' PCs,
3Netlify, https://www.netlify.com/
4Chocolatey, https://chocolatey.org/
5Scoop, https://scoop.sh/
6Homebrew, https://brew.sh/
the script also installed the package management software.</p>
        <p>The teaching sta must ascertain whether an installation on a student's computer succeeds or not through the
execution of the script. The script checks for the occurrence of installation errors for each software, veri es the
version of each software, and outputs these results in a text le. The script sends the text le to the application
described in the previous section via the HTTP communication protocol so that the teaching sta can ascertain
the installation status.</p>
        <p>Figure 2 shows a screenshot of executing the script. The script requests the students to enter their ID to
identify them in the log le. After entering the ID, the script is executed.
4.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>The script for acquiring application execution data</title>
        <p>It is very important for students to be able to pinpoint the causes of errors encountered during web application
development and nd out relevant solutions by themselves. However, as they are novice developers, they may
not know how to deal with these errors. Therefore, experienced TAs must support students in troubleshooting.
To do so in an appropriate and prompt manner mitigates the students' burden. However, it is not easy for the
TAs to con rm the status of the students in a fully remote environment as they could in a collocated classroom.
Therefore, we propose a mechanism for the TAs to grasp the status of students so that they can support their
troubleshooting activities. We have identi ed a requirement for supporting troubleshooting during application
development practice as follows. The teaching sta should easily ascertain students' statuses during application
development. To meet this requirement, we collected log data during the students' application development
process. The students developed a web application in a project that introduced the Tomcat plugin of Gradle.
We developed a mechanism by which the teaching sta could con rm error logs that a software engineering
environment generates, to support students' troubleshooting activities. The script invokes Tomcat that executes
an application. At this time, the script extracts and stores the logs generated by the Gradle logger in the form
of a text le. The text le is sent to the application. This allows the teaching sta to see in Teams the errors
that students encounter.
4.4</p>
      </sec>
      <sec id="sec-5-4">
        <title>Execution method of the tool</title>
        <p>The tool can be used by executing the script. It is necessary to devise an execution method for the script. An
approach is to distribute the script via LMS-like learning materials, and the students can download and execute
it. The execution of the script depends on the character set of the text le, and the script is written. Most LMS
do not support the speci cations of the character set of the text le. To prevent bugs caused by the character
set, we did not use LMS for the distribution of the script. Instead, we adopted an execution method in which the
script is allocated to GitHub, which is a source-code hosting service; each PC (each student) gets the script code
and executes it. The method seems complicated; however, it is useful for both the students and the teaching sta .
The students can simply invoke one-line commands without downloading the script on their PCs. Further, the
teaching sta can not only attend to the problem of addressing various character sets but also save maintenance
costs (incurred by bug xes and version updates) by modifying only the source code on GitHub without having
to re-distribute the script to all students.</p>
        <p>After the execution of the script, the message shown in Figure 3 is sent to a Teams channel in which the
teaching sta participate. This message allows us to grasp the installation status of the students.
5</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Evaluation of the practice</title>
      <p>
        Our evaluation involves our proposal to the two issues raised in Section 1: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) the process of building a software
development environment for course exercises using the script we developed and (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) the ease of asking questions
in the remote implementation of the course compared to that in the face-to-face implementation.
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Using the script to build a software development environment to complete the exercises
We based our evaluations on the results of the script to build the required software engineering environment, as
obtained by the teaching sta ; and the results of an online questionnaire survey completed by the students.
      </p>
      <p>A total of 26 students ran the script, and we con rmed they all succeeded in installing the necessary software.
Further, we conducted an online questionnaire for the students to evaluate their experience, after installation.
Table 1 shows the questionnaire items. We adopted a four-point Likert scale (\strongly satis ed," \ satis ed,"
\unsatis ed," and \strongly unsatis ed") for all items. We received 19 responses to the questionnaire. Figure 4
shows the results for the questionnaire item 1, item 2 and item 3.</p>
      <p>Figure 4 item 1 shows the results for the rst questionnaire item. All responses are positive (13 are strongly
satis ed, and 6 are satis ed). The students expressed high satisfaction regarding their experience of building a
software engineering environment using the script.</p>
      <p>Figure 4 item 2 shows the results for the second questionnaire item. All responses are positive (10 are strongly
satis ed, and 9 are satis ed). These results show that the time required to build the environment by using the
script is not costly for the students.</p>
      <p>
        Figure 4 item 3 shows the results for the third questionnaire item. All responses are positive (15 are strongly
satis ed, and 4 are satis ed). The results reveal that students were particularly satis ed with the instructions
for the execution of the script. This shows that our approach is not di cult for students.
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Ease of asking questions in the remote versus the face-to-face implementation
After the students completed the course, they responded to a questionnaire on the ease of asking questions in
the remote versus face-to-face implementation of the course. The questionnaire items are shown in Table 2. The
      </p>
      <p>rst and third items were scored on a four-point Likert scale (\strongly satis ed," \ satis ed," \unsatis ed," and
\strongly unsatis ed"). The responses to other questionnaire items comprised free descriptions. We obtained 16
responses.</p>
      <p>Figure 5 shows the results for questionnaire item 1, and item 3. As Figure 5 item 1 shows, most students are
satis ed with the ease of asking questions during class. However, some students feel unsatis ed. The reasons for
that were reported as follows: \It was di cult for me to ask a question, because all participants could hear my
utterances in the team," \The instructor did not provide enough time for questions and answers," \It is di cult
for me to ascertain the atmosphere around me in a remote meeting system. I think it is only me who does not
understand the course contents," and \It is di cult for me to convey the contents of my questions in text chat."
On the other hand, as Figure 5 item 3 shows, most students are more satis ed with the ease of asking questions
outside the class time than that during class. The reason for such dissatisfaction is reported as \I feel that I have
only a few opportunities for asking questions." Many students pointed out the e ectiveness of the chat function.
We discuss whether our tool contributes to supporting students' in building the software engineering environment
on their PCs and their troubleshooting the encountered errors, that is, ensuring that the students successfully
build the environment and monitoring students' application development practices.
6.1</p>
      <sec id="sec-6-1">
        <title>E ectiveness of the tools</title>
        <p>All participating students who executed the script succeeded in building the software engineering environment.
Their degree of satisfaction with the process was very high. The teaching sta could ascertain the results of
students' executions on Teams and ascertain the students' situations to help them to troubleshoot in a remote
environment.</p>
        <p>The acquisition script for application execution data was executed once. We suppose this script was used to
support troubleshooting the errors that the students encountered during class (the TAs ascertained the situations
of the students encountering trouble). However, in this practice, the students asked for help outside the class
time, and the TAs used the phone call and screensharing functions provided by Teams.</p>
        <p>We will reevaluate the tool under the supposed environment in future work.
6.2</p>
      </sec>
      <sec id="sec-6-2">
        <title>Ease of communication during troubleshooting</title>
        <p>The questionnaire results (Figure 5) reveal that the degree of satisfaction for the ease of asking questions in
class time varies. Some students had no issues, while others found text-based communication to be problematic.
Almost all students felt satis ed outside the class time, because they used the one-to-one chat function provided
by Teams. They felt satis ed especially with phone calls and screensharing. The questions caused burdens for
the teaching sta .
It is important to discuss the e ectiveness of remote education. This paper discusses learning e ectiveness from
the viewpoint of the submission of web application tasks and the passing rate of the course.</p>
        <p>Table 3 shows the submissions of web application development tasks during the past three years, including
this year. This year's rate of submission was 85%, the lowest in the past three years. We think the reasons
are that students are not allowed to learn with their friends on campus and that they have barriers to asking
questions to the TAs online.</p>
        <p>On the other hand, the passing rate of the course is determined by the mark of the nal examination and
the quality of the submitted web application tasks (documents and the application itself). It was 67% this year,
almost the same as in the past two years (the average rate of the past two years was 62%). This means that the
outcomes of remote education are not lower than those of face-to-face education.</p>
        <p>In light of these results, we believe that the learning e ectiveness in remote education is not lower than that
in a collocated environment.
7</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Conclusions</title>
      <p>This paper has proposed a fully online implementation of introductory software engineering education, including
web application development practice. To implement this course, we have developed a tool to automatically
build a software engineering environment and obtain information on the status of the installation operation on
students' PCs. We have also developed a mechanism to support students in troubleshooting their web application
development issues. Although the technology that the script uses is not novel, this proposal could not have been
implemented ve years ago, because the required technology was not available at the time. However, currently,
it is feasible thanks to the availability of Teams (including Webhook) and FaaS. Our approach is cost-e ective
and generally applicable to similar courses.</p>
      <p>We applied the tools in an actual course. All students who executed the script succeeded in building the
required software engineering environment, and their degree of satisfaction with the process was very high.
However, the acquisition script for application execution data was rarely used. The students asked questions to
the TAs outside the class time, and they preferred to communicate using phone calls and screensharing through
the one-to-one chat function provided by Teams.</p>
      <p>As for learning e ectiveness, it is not lower in remote education than in a collocated environment.</p>
      <p>We will conduct a longitudinal study to show e ectiveness of our endeavor.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgments References</title>
      <p>This study is partially supported by the Grant-in Aid for No. (C) 20K12089 from the Ministry of Education,
Science, Sports and Culture of Japan.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>John</given-names>
            <surname>Bourne</surname>
          </string-name>
          , Dale Harris, and Frank Mayadas, Online Engineering Education: Learning Anywhere, Anytime,
          <source>Journal of Engineering Education</source>
          , Vol.
          <volume>94</volume>
          , No.
          <issue>1</issue>
          , pp.
          <fpage>131</fpage>
          -
          <lpage>146</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Heidi</surname>
            <given-names>J. C.</given-names>
          </string-name>
          <string-name>
            <surname>Ellis</surname>
          </string-name>
          ,
          <article-title>An evaluation of learning in an online project-based web application design and development course</article-title>
          ,
          <source>Journal of Computing Sciences in Colleges</source>
          ,
          <volume>21</volume>
          (
          <issue>6</issue>
          ), pp.
          <fpage>217</fpage>
          -
          <lpage>227</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Peng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Yin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Rong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Yang</surname>
          </string-name>
          , and
          <string-name>
            <surname>G. Cong,</surname>
          </string-name>
          <article-title>Analysis of User Satisfaction with Online Education Platforms in China during the COVID-</article-title>
          19
          <string-name>
            <surname>Pandemic</surname>
          </string-name>
          , Healthcare, Vol.
          <volume>8</volume>
          , No.
          <volume>3</volume>
          , 26 pages,
          <source>Multidisciplinary Digital Publishing Institute</source>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Aracele</given-names>
            <surname>Garcia de Oliveira Fassbinder</surname>
          </string-name>
          , Marcelo Fassbinder, Ellen Francine Barbosa, and
          <string-name>
            <given-names>George D.</given-names>
            <surname>Magoulas</surname>
          </string-name>
          ,
          <article-title>Massive open online courses in software engineering education</article-title>
          ,
          <source>Proceedings of the 2017 IEEE Frontiers in Education Conference (FIE2017)</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          , IEEE,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Heri</given-names>
            <surname>Suryaman</surname>
          </string-name>
          , Kusnan, and Husni Mubarok,
          <article-title>Pro le of Online Learning in Building Engineering Education Study Program During the COVID-</article-title>
          19 Pandemic,
          <source>International Journal of Recent Educational Education (IJORER)</source>
          , Vol.
          <volume>1</volume>
          , No.
          <issue>2</issue>
          , pp.
          <fpage>63</fpage>
          -
          <lpage>77</lpage>
          ,
          <year>July 2020</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>