Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 17 June 2021
Article
A Sustainable Project-Based Learning Approach Adaptable to
Technological Advances for Web Programming
Juan Carlos López-Pimentel 1,∗ , Alejandro Medina-Santiago 2 , Miguel Alcaraz-Rivera 1 and Carolina
Del-Valle-Soto 1
1 Facultad de Ingeniería; Universidad Panamericana; Álvaro del Portillo 49, Zapopan, Jalisco, México; 45010
2 Coordinación de Ciencias Computacionales; Instituto Nacional de Astrofísica Óptica y Electrónica; Luis
Citation: López-Pimentel, JC;
Medina-Santiago, A.; Enrique Erro #1, Santa María Tonatzintla, Puebla, México, 72840; amedina@inaoep.mx
* Correspondence: clopezp@up.edu.mx; Tel.: (+52) 3313682200
Alcaraz-Rivera, M.; Del-Valle-Soto,
C. A Systematic Project-Based
Learning Approach Adaptive to 1 Abstract: The fast pace development of the Internet and the Coronavirus Disease (COVID-
Technological Advances for Web 2 19) pandemic have impacted considerably on the educative sector; encouraging the constant
Programming. Sustainability 2021, 1, 3 transformation of the teaching-learning strategies and more in technological areas as Educational
0. https://doi.org/ 4 Software Engineering. Web programming, a fundamental topic in Software Engineering and
5 Cloud-based applications, deals with various critical challenges in education, such as learning
Received: 6 continuous emerging technological tools, plagiarism detection, generating innovative learning
Accepted:
7 environments, among others. Continual change and more with the current digitization becomes a
Published:
8 challenge for teachers and students who cannot depend on traditional educational methods. The
9 article presents a sustainable teaching-learning methodology for web programming courses in
Publisher’s Note: MDPI stays neu-
10 Engineering Education using a project-based integrated approach adaptable to the continuous
tral with regard to jurisdictional
11 web technological advances. The methodology has been developed and improved for 9 years,
claims in published maps and insti-
tutional affiliations.
12 15 groups, and 3 different universities. Our results demonstrate that the methodology is 100%
13 adaptable with new technologies that might arise; it also presents the advantages of avoiding
14 plagiarism in the best case and a personalized induction for every specific student in the learning
Copyright: © 2021 by the authors. 15 process.
Submitted to Sustainability for pos-
sible open access publication under
16 Keywords: Programming Approach, Web programming, Sustainable Education, Teaching experi-
the terms and conditions of the
17 ence, Teaching Methodology
Creative Commons Attribution (CC
BY) license (https://creativecom-
mons.org/licenses/by/ 4.0/).
1. Introduction
The Internet and the Web have become the framework to publish and consume all types of multimedia contents and
resources, [1]. The impact of this new digital world has transformed the software industry, [2], and also been reflected in
educational environments and more now with the tendency of the remote activities.
The Web provides a wide range of resources and services, one of them focused on the teaching-learning process, but
it also causes several challenges. Educators must design new strategies not just for the classroom, but also to cultivate
out-of-classroom studying time with meaningful home-works. There are some classical examples implemented as
classroom activities or projects to show to the students the working of their field. However, there is a problem when
these activities become classical: many solutions might be found on the web. The existence and availability of these
public solutions are a real challenge for teachers who wanting to re-use these specific learning materials, since that
valuable extra-class time devoted to studying activities could end up as a mere copying exercise of someone else’s work.
Rehashing these activities will leave the teacher with no certainty that the students have learned their subjects. Hence,
the current communication technologies bring also new risks and forms of non-ethical behavior that sometimes are not
easy to detect, [3].
The Internet and its impact on the education sector have encouraged the constant transformation of the teaching-
learning strategies. The web is reinvented every day, what was once considered technically impossible to do, nowadays is
not just possible, but easy, since the technologies used for their development have continued improving and innovations
appear every day. Other current impact on the educational sector is the Coronavirus Disease (COVID-19) pandemic,
which has affected more than 1.5 billion students worldwide and has exacerbated inequalities in education; the head
Version June 14, 2021 submitted to Sustainability https://www.mdpi.com/journal/sustainability
© 2021 by the author(s). Distributed under a Creative Commons CC BY license.
,Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 17 June 2021
Version June 14, 2021 submitted to Sustainability 2 of 20
of the ONU has affirmed that the decisions taken now in this regard will have a lasting effect on hundreds of millions
of people and their countries’ development.1 Some results have shown that traditional schemes must be extended at
distance modalities, not doing that would result negatively on the quality and could increase inequality of learning
opportunities, [4].
This era, and more with the Coronavirus Disease (COVID-19) pandemic, demands and challenges teachers to reform
their traditional courses and more in technological areas as Educational Software Engineering, even more, if the subject is
related to programming or developing web applications. Web development, a fundamental topic in Software Engineering
and Cloud-based applications, deals with various critical challenges in education such as learning continuous emerging
technological tools, plagiarism detection, generating innovative learning environments, among others. So, teaching and
learning web applications is a changing topic that cannot remain static.
Research has been made to emphasize the difficulty of teaching and learning programming, [5–11], and also
expressing the main challenges of teaching web programming, [12–15]. Some of these works have proposed different
strategies to deal with the challenges; for example in the effort required to acquire a full basic training some authors
determine that a single college course is enough, [13,16] but with binding prior knowledge. Others think that two courses
are the minimum, [12]: front and back-end respectively.
Derived of the above, the following questions were raised: is it possible to prepare a web programming engineering-
level course building the skill set of the students guiding the learning process with the development of a common specific
solution but avoiding plagiarism?; and is it possible for this course to append a customized experience for every student’s
needs and requirements? and given the fast pace of current technological changes, is it possible to obtain a course that
doesn’t become obsolete every passing course?
After various years of improving and successfully implementing a web programming course, the result was a
teaching-learning methodology accompanied with a syllabus, which combines the knowledge and experience of the
teacher for guiding to the students for the development of an integrating project. This project is generated through
student iterations (sprints) during a complete course, making it a personalized experience from the beginning to the end
of the course avoiding plagiarism in the best case. The described approach has been continuously improved over the last
9 years, with the benefits of being an adaptable proven methodology that can be personalized to cover the needs of every
student. Even more, it was successfully applied in our last course despite it was taught in a distance modality.
The aim of this paper is to introduce a sustainable teaching-learning methodology for web programming courses in
Engineering Education using a project-based integrated approach adaptive to the continuous web technological advances.
We think that our methodology answers the above three questions and also it provides facilitators, and even students, a
different strategy to deal with subjects with high technological content as Web Programming. In the paper, we show an
evolution of the web technologies that have been taught in past and more recent courses demonstrating the validity of
the methodology. Although the methodology has been applied in different scenarios, here we also present a syllabus
example of how to adjust a course with 48 contact hours and 48 non-contact hours. In the example, we explain how the
students acquire their proficiency.
The paper is organized as follows: First, we give a brief summary of the difficulty of teaching-learning programming,
the challenges of teaching web programming, and some strategies implemented by other researchers. Then, we explain
how we have taught an introductory Web Programming engineering-level course attending the modern requirements
and using the PBL approach. Later, we describe the experimental process carried out to improve the methodology, in this
section, we explain the process of various years of polishing the methodology, the students and universities involved,
and argue in what sense it is adaptive to new technologies. Then, the result of years improving the integrating project is
described with a syllabus of web programming and its methodology. Afterward, we exemplify our methodology with
our last course (carried out remotely because of the coronavirus pandemic problem) emphasizing the different activities
together with the concepts that students are expected to learn to acquire their proficiency. In addition, we discuss the
benefits of using this methodology and give our conclusions in the last section.
2. Difficulties of teaching-learning programming and challenges of web development
Many works have been written about the difficulties of teaching computer related subjects. In particular, this section
will discuss some works exposing the difficulty of teaching and learning programming in general; then, we focus on
explaining the challenge of teaching web programming; lastly, those works proposing different strategies in teaching web
programming and web development.
1 UNESCO study about COVID-19 available via https://en.unesco.org/covid19/educationresponse/globalcoalition
, Preprints (www.preprints.org) | NOT PEER-REVIEWED | Posted: 17 June 2021
Version June 14, 2021 submitted to Sustainability 3 of 20
2.1. The difficulty of teaching and learning programming
Teaching and learning programming is a difficult task that requires a lot of effort, dedication, training and mathemat-
ical knowledge, among other skills. So, why is computer programming so difficult to learn?; Bosse, et.al., [17], consider
that programming is a crucial part of software engineers training and try to identify difficulty patterns related to learning
how to program. Piteira and Costa, [6], study the difficulties in learning programming using teachers and students’
opinions and exam results. They identified that the difficulties arise in a lot of aspects: the contents of the programming
topics, limited practical sessions, material presented by teachers, etc.
The complex combination that arises from the described situation is a serious problem that causes lack of motivation
and eventually, the abandonment of a course. Figueiredo, et.al., [10], comment that it is important to act as soon as
this discouragement is noticed; the follow-up of each student must be immediate and personalized. They affirm that
it is possible to build a profile of each student’s competences and skills in introductory programming to record their
improvement and encourage growth.
Some authors have focused on proposing new ways of teaching programming skills, [7]. Others try to understand
how to awaken a Computational thinking, [8,9,11,18,19]. The programming difficulty encompass other paradigms, like
Object Oriented Programming, [5] and Web Programming, as emphasized in the next subsections.
2.2. The Challenge of Teaching Web Programming
Wang and Zahadat, [12], conducted a study where they emphasize that the explosive growth of Web 2.0 Technologies
present a significant challenge for teachers focused on teaching web development. In other studies, they presented
an IT educator’s perspective and describe some challenges and problems of teaching Web development. Some of the
approaches that they presented are: Web development to user interaction, client-side and server-side Web development,
real-world applications, and constructivist teaching methods.
In a very similar sense, Xinogalos and Theodore, [14], make an important study about the main challenges a professor
can find when teaching web programming. Liu and Phelps, [13], present a similar study in terms of challenges and also
include important tools that should be used in the teaching process of web programming. They focus on a junior level
course, similar to our case, but they are more busy teaching the foundations of web programming and sharing their
experiences than the technologies themselves.
All previous authors agree that teaching web programming is a challenging task. Douce, [15], for example, carried
out a research about understanding the tutor’s perspective in the teaching of web technologies, interviewing 12 teachers
and agreeing that the issues of programming, solving problem skills, and including several technologies in a course, is a
challenging topic not only for students but also for teachers.
Guo and Koufakou, [20], summarize the educational problem with respect to the complexity of web involving cloud
computing technologies. It involves vast technologies that teachers need to cover such as high-performance computing,
distributed systems, networks, databases, security, data analytics, etc. In addition, to include web mobile development in
the curriculum, [21].
Connolly, [22], provides a historic overview of the key knowledge areas potentially needed by full-stack (involving
front-end, back-end, and DevOps) from 2008 to 2018. He shows that current full-stack developers need to know recent
concepts and technologies such as frameworks in the front-end and back-end; cloud native architectures; web sockets;
APIs; reactive programming; parallel coding patterns, etc. But, he comments that one of the key teaching problems
in any computing program is that concepts, techniques, and technologies are taught within separated courses (e.g.,
databases, networks, programming), but in industry, they are parts of larger heterogeneous environments. Students must
be competent as well as to put all knowledge together into a single application, [23].
2.3. Teaching Strategies in Web Programming
Wang and Zahadat, [12] have developed a method consisting of 4 elements: a) Concentrate on AJAX; b) Divide the
course in two: one focused on the client and one on the server; c) Assign projects that integrate topics with real world
applications; and d) Use constructive teaching methods. Although what they propose is very interesting and useful,
some curricular plan of studies include a single subject related with web programming. Susmita Kar, et.al., [24], also have
reformed their curricula in a two-semester web course, they consider to have a huge impact on achieving the minimum
required skill in the web development field in the Software industry.
Rosenbloom, et.al., [16], propose a twelve-week course that involves starting with Model View Controller (MVC)
frameworks and including web service topics as RESTful, but specifically specifies that students should have prior basic
knowledge.