Teaching software development for real-world problems using a microservice-based collaborative problem-solving approach

Experienced and skillful software developers are needed in organizations to develop software products effective for their business with shortened time-to-market. Such developers will not only need to code but also be able to work in teams and collaboratively solve real-world problems that organizati...

Full description

Saved in:
Bibliographic Details
Main Authors: LAU, Yi Meng, KOH, Christian Michael, JIANG, Lingxiao
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2024
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/8758
https://ink.library.smu.edu.sg/context/sis_research/article/9761/viewcontent/Teaching_Collaborative_Development_For_Real_World_Problems_Paper.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-9761
record_format dspace
spelling sg-smu-ink.sis_research-97612024-05-23T05:43:21Z Teaching software development for real-world problems using a microservice-based collaborative problem-solving approach LAU, Yi Meng KOH, Christian Michael JIANG, Lingxiao Experienced and skillful software developers are needed in organizations to develop software products effective for their business with shortened time-to-market. Such developers will not only need to code but also be able to work in teams and collaboratively solve real-world problems that organizations arefacing. It is challenging for educators to nurture students to become such developers with strong technical, social, and cognitive skills. Towards addressing the challenge, this study presents a Collaborative Software Development Project Framework for a course that focuses on learning microservices architectures anddeveloping a software application for a real-world business. Students get to work in teams to solve a real-world problem of their own choice. They are given opportunities to recognize that the software development process goes beyond writing code and that social and cognitive skills in engaging with each other are alsoessential. By adopting microservices architectures in the course, students learn to break down the functionalities of their applications into smaller pieces of code with standardized interfaces that can bedeveloped, tested, and deployed independently. This not only helps students to learn various technical skills needed for developing and implementing the functionalities needed by the application in the form of microservices but also facilitates task allocation and coordination among their team members and provides a platform for them to solve problems collaboratively. Upon completion of their projects, students are also asked to reflect on their development process and encouraged to think beyond the basics for better software design and development approaches. The course curriculum incorporates the framework, especially for the student team projects. The earlier teaching weeks introduce a combination of concepts and lab exercises to students as the building blocks. The survey studies show that the framework iseffective in enhancing the students’ learning of technical, social, and cognitive skills, while further improvements, such as closer collaboration with other courses, can be done to improve a holisticlearning curriculum. 2024-04-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/8758 info:doi/10.1145/3639474.3640064 https://ink.library.smu.edu.sg/context/sis_research/article/9761/viewcontent/Teaching_Collaborative_Development_For_Real_World_Problems_Paper.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University software development collaborative problem-solving real-world solutions microservices architectures Higher Education Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic software development
collaborative problem-solving
real-world
solutions
microservices architectures
Higher Education
Software Engineering
spellingShingle software development
collaborative problem-solving
real-world
solutions
microservices architectures
Higher Education
Software Engineering
LAU, Yi Meng
KOH, Christian Michael
JIANG, Lingxiao
Teaching software development for real-world problems using a microservice-based collaborative problem-solving approach
description Experienced and skillful software developers are needed in organizations to develop software products effective for their business with shortened time-to-market. Such developers will not only need to code but also be able to work in teams and collaboratively solve real-world problems that organizations arefacing. It is challenging for educators to nurture students to become such developers with strong technical, social, and cognitive skills. Towards addressing the challenge, this study presents a Collaborative Software Development Project Framework for a course that focuses on learning microservices architectures anddeveloping a software application for a real-world business. Students get to work in teams to solve a real-world problem of their own choice. They are given opportunities to recognize that the software development process goes beyond writing code and that social and cognitive skills in engaging with each other are alsoessential. By adopting microservices architectures in the course, students learn to break down the functionalities of their applications into smaller pieces of code with standardized interfaces that can bedeveloped, tested, and deployed independently. This not only helps students to learn various technical skills needed for developing and implementing the functionalities needed by the application in the form of microservices but also facilitates task allocation and coordination among their team members and provides a platform for them to solve problems collaboratively. Upon completion of their projects, students are also asked to reflect on their development process and encouraged to think beyond the basics for better software design and development approaches. The course curriculum incorporates the framework, especially for the student team projects. The earlier teaching weeks introduce a combination of concepts and lab exercises to students as the building blocks. The survey studies show that the framework iseffective in enhancing the students’ learning of technical, social, and cognitive skills, while further improvements, such as closer collaboration with other courses, can be done to improve a holisticlearning curriculum.
format text
author LAU, Yi Meng
KOH, Christian Michael
JIANG, Lingxiao
author_facet LAU, Yi Meng
KOH, Christian Michael
JIANG, Lingxiao
author_sort LAU, Yi Meng
title Teaching software development for real-world problems using a microservice-based collaborative problem-solving approach
title_short Teaching software development for real-world problems using a microservice-based collaborative problem-solving approach
title_full Teaching software development for real-world problems using a microservice-based collaborative problem-solving approach
title_fullStr Teaching software development for real-world problems using a microservice-based collaborative problem-solving approach
title_full_unstemmed Teaching software development for real-world problems using a microservice-based collaborative problem-solving approach
title_sort teaching software development for real-world problems using a microservice-based collaborative problem-solving approach
publisher Institutional Knowledge at Singapore Management University
publishDate 2024
url https://ink.library.smu.edu.sg/sis_research/8758
https://ink.library.smu.edu.sg/context/sis_research/article/9761/viewcontent/Teaching_Collaborative_Development_For_Real_World_Problems_Paper.pdf
_version_ 1814047520737722368