GSTF Journal on Computing (JoC)

, 3:32

First online:

Open Access This content is freely available online to anyone, anywhere at any time.

Using a Class-Wide, Semester-Long Project to Teach Software Engineering Principles

  • Paul E YoungAffiliated withUniversity of Central Arkansas, Department of Computer Science Email author 
  • , Donald M NeedhamAffiliated withUnited States Naval Academy, Computer Science Department


A 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.


Software Engineering Teamwork Course Project Project Grading Software Process Software Life-Cycle; Software Engineering Pedagogy