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...
Saved in:
Main Authors: | , , |
---|---|
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 |