Authors: Paul E. Young and Donald M. Needham
Abstract: A senior-level project-based Software Engineering course taught at the University of Central Arkansas introduces students to the theory, tools, and techniques used to build largescale software systems in a project-driven setting. Foundational to the course is the use of a class wide, semester-long 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.
Keywords: Software Engineering, Teamwork, Course Project, Project Grading, Software Process, Software Life-Cycle, Software Engineering Pedagogy