Innovating the software engineering class through multi-team development
- URL: http://arxiv.org/abs/2502.02578v1
- Date: Tue, 04 Feb 2025 18:54:43 GMT
- Title: Innovating the software engineering class through multi-team development
- Authors: Allan Brockenbrough,
- Abstract summary: This paper presents a new approach to teaching undergraduate software engineering.
The students are grouped into multiple software teams, each focusing on a different aspect of the app.
Using an Agile development approach, the teams incrementally add to the code base and demonstrate features as the application evolves.
- Score: 0.0
- License:
- Abstract: Often software engineering classes have the student concentrate on designing and planning the project but stop short of actual student team development of code. This leads to criticism by employers of new graduates that they are missing skills in working in teams and coordinating multiple overlapping changes to a code base. Additionally, students that are not actively experiencing team development are unprepared to understand and modify existing legacy-code bases written by others. This paper presents a new approach to teaching undergraduate software engineering that emphasizes not only software engineering methodology but also experiencing development as a member of a team and modifying a legacy code base. Our innovative software engineering course begins with learning the fundamentals of software engineering, followed by examining an existing framework of a social media application. The students are then grouped into multiple software teams, each focusing on a different aspect of the app. The separate teams must define requirements, design, and provide documentation on the services. Using an Agile development approach, the teams incrementally add to the code base and demonstrate features as the application evolves. Subsequent iterations of the class pick up the prior students code base, providing experience working with a legacy code base. Preliminary results of using this approach at the university are presented in this paper including quantitative analysis. Analysis of student software submissions to the cloud-based code repository shows student engagement and contributions over the span of the course. Positive student evaluations show the effectiveness of applying the principles of software engineering to the development of a complex solution in a team environment. Keywords: Software engineering, teaching, college computer science, innovative methods, agile.
Related papers
- A Problem-Based Learning Approach to Teaching Design in CS1 [0.9786690381850356]
Design skills are increasingly recognized as a core competency for software professionals.
New designers require a structured process to keep them from being overwhelmed by possibilities.
We present our experience teaching a team design project course to 200 first-year-university students.
arXiv Detail & Related papers (2024-10-15T23:36:08Z) - RepoGraph: Enhancing AI Software Engineering with Repository-level Code Graph [63.87660059104077]
We present RepoGraph, a plug-in module that manages a repository-level structure for modern AI software engineering solutions.
RepoGraph substantially boosts the performance of all systems, leading to a new state-of-the-art among open-source frameworks.
arXiv Detail & Related papers (2024-10-03T05:45:26Z) - Beyond Diversity:Computing for Inclusive Software [2.867517731896504]
This chapter presents from our research on inclusive software within the context of a diversity and inclusion based STEM program at the University of Victoria.
We found that empathy-based requirements gathering techniques and certain influences on the software development teams' motivation levels impact the teams' ability to build inclusive software.
arXiv Detail & Related papers (2024-08-09T19:01:58Z) - Agent-Driven Automatic Software Improvement [55.2480439325792]
This research proposal aims to explore innovative solutions by focusing on the deployment of agents powered by Large Language Models (LLMs)
The iterative nature of agents, which allows for continuous learning and adaptation, can help surpass common challenges in code generation.
We aim to use the iterative feedback in these systems to further fine-tune the LLMs underlying the agents, becoming better aligned to the task of automated software improvement.
arXiv Detail & Related papers (2024-06-24T15:45:22Z) - AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodology [5.164094478488741]
AgileCoder is a multi agent system that integrates Agile Methodology (AM) into the framework.
This system assigns specific AM roles - such as Product Manager, Developer, and Tester to different agents, who then collaboratively develop software based on user inputs.
arXiv Detail & Related papers (2024-06-16T17:57:48Z) - Collaborative, Code-Proximal Dynamic Software Visualization within Code
Editors [55.57032418885258]
This paper introduces the design and proof-of-concept implementation for a software visualization approach that can be embedded into code editors.
Our contribution differs from related work in that we use dynamic analysis of a software system's runtime behavior.
Our visualization approach enhances common remote pair programming tools and is collaboratively usable by employing shared code cities.
arXiv Detail & Related papers (2023-08-30T06:35:40Z) - Team Composition in Software Engineering Education [0.5439020425819]
The study presented in this paper aims to better understand the student team composition in software engineering education.
The initial findings of the ongoing Action research study are presented.
arXiv Detail & Related papers (2023-06-14T11:00:05Z) - CodeTF: One-stop Transformer Library for State-of-the-art Code LLM [72.1638273937025]
We present CodeTF, an open-source Transformer-based library for state-of-the-art Code LLMs and code intelligence.
Our library supports a collection of pretrained Code LLM models and popular code benchmarks.
We hope CodeTF is able to bridge the gap between machine learning/generative AI and software engineering.
arXiv Detail & Related papers (2023-05-31T05:24:48Z) - Concept-centric Software Development [0.1657441317977376]
Palantir is a software company whose data analytics products are widely used.
This paper reports on Palantir's experiences analyzing both successes and challenges.
arXiv Detail & Related papers (2023-04-28T16:57:55Z) - ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback [54.142719510638614]
In this paper, we frame the problem of providing feedback as few-shot classification.
A meta-learner adapts to give feedback to student code on a new programming question from just a few examples by instructors.
Our approach was successfully deployed to deliver feedback to 16,000 student exam-solutions in a programming course offered by a tier 1 university.
arXiv Detail & Related papers (2021-07-23T22:41:28Z) - Empowered and Embedded: Ethics and Agile Processes [60.63670249088117]
We argue that ethical considerations need to be embedded into the (agile) software development process.
We put emphasis on the possibility to implement ethical deliberations in already existing and well established agile software development processes.
arXiv Detail & Related papers (2021-07-15T11:14:03Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.