Abstract

AbstractA senior-level, project-based Software Engineering course taught at the University of Central Arkansas serves as the capstone course for the Computer Science Program and introduces students to the theory, tools, and techniques used to build large-scale software systems in a project-driven setting. Foundational to the course is the use of a class-wide, semesterlong course project to emphasize the theoretical aspects of the software process and the system used for scoring student performance on the project. One project is selected for the entire class with students divided into teams of four to six students to support different functional requirement areas. A milestone-driven approach is used following a modified version of the Unified Process for project development. Student scores on the project are divided into a group score, assignable via a rubric-like grade sheet, and an individual score which is determined by the individual’s effort as assigned using the task-management tool, Issue-Tracker. Experiences gained and lessons learned in teaching the course are provided as a guide for those wishing to follow a similar approach to teaching Software Engineering in the future.

Highlights

  • Teaching Software Engineering (SE) at its core involves providing an understanding of such traditional topics as the software life cycle, the software process, requirements and specification engineering, software design, software implementation, and software testing

  • A final project for the course is picked from this list based on student preference and a set of criteria provided by the professor

  • The remainder of this paper provides a high-level description of the course plus an explanation of the outcomes expected to be satisfied by students completing it

Read more

Summary

INTRODUCTION

Teaching Software Engineering (SE) at its core involves providing an understanding of such traditional topics as the software life cycle, the software process, requirements and specification engineering, software design, software implementation, and software testing. This paper explains how these methods are employed in teaching the SE course at UCA It describes how those efforts were expanded to define the process used for project selection, how composition of project teams was modified to enhance student leadership opportunities, and how the planned iteration of the project deliverables was used to enable students to learn from their mistakes and improve their sense of achievement and the satisfaction of their customer and professor alike. The Issue-Tracker system is used to define individual tasks required to complete the project, assign them to members of the team, track progress of task completion and determine the level of work performed by each member of the team. A look at the lessons learned through combining and enhancing previous contributions by Needham and Coppit, as well as suggested areas for future work and improvement are provided

UCA Catalog Description
COURSE PROJECT
The Course Project Software Process
Grading Work
PROJECT SUCCESSES AND LESSONS LEARNED
FUTURE WORK
Project Overview
Subsystem Descriptions
Control plan
Presentation
Findings
Notes:
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call