Teaching Software Engineering using Project-Based Learning



We account for the restructuring of a software engineering course using the principles of project-based learning. Building a software product is a team effort that, besides specialized knowledge, involves non-technical skills such as the ability to communicate, to work as a group, to partition, assign and monitor task progress, and to assume responsibility for making choices. These softer skills are frequently overlooked in training or disregarded by young engineering students. Additionally, they often resist the creation of effective documentation, favoring instead the technical minutiae of program code writing. This leads to poorer results, as implementation starts without a clear picture of the solution and accurate 'blueprints� become unavailable for later product maintenance. Since traditional lectures on good practices were not producing the desired change in students' mindsets, we decided to reorganize learning around a software engineering group project. Five milestones were set, fifteen days apart, each entailing an incremental deliverable. The first two called for technical documents describing specific facets of software to be coded. The third deliverable was a working prototype for a restricted number of functions. A second release, together with its revised documentation, made up the fourth deliverable. Finally, the 5th goal, to be carried out individually by each member of the group, was a one page reflection about the full process, to force introspection on highlights and difficulties. The use of class time was reorganized to meet the needs of the project-based learning. One hour was used to introduce and explain each new milestone, followed by two hours of open lab and, later that week, a traditional two hour lecture on the technical knowledge needed for the current goal. The week the deadline was reached, the two hour open lab was used to hand-over the deliverables, and each group member answered questions about the work. The full mark of the project accounted for these individual evaluations, a thorough technical analysis of each deliverable, and the quality of the final report. Additionally, progress demonstrated by the teams from one milestone to the next was also rewarded positively. The project contributed fifty percent for the final grade. The other fifty percent came from a written test, which could be dismissed if students proved well in an optional oral discussion. Compared with previous experiences teaching the course, deeper student involvement was noticeable and attendance to lectures was higher, even later in the semester, when assignments from other subjects increased workload. Ninety five percent of the students passed, the average grade being slightly over seventy percent.


Assessment, Learning Alignment, Project-Based Learning, Software Engineering


Education & Learning


International Conference on Engineering Education and Research, February 2005

Cited by

Year 2006 : 2 citations

 E. Domínguez, J. C. Ciria, A. de Miguel, I. Escario, A. Francés, M. J. Lapeña, J. Lloret B., J. Lloret G., A. Rodríguez, M. A. Zapata, "UNIVERSIDAD Y EMPRESA: UNA EXPERIENCIA DE CONVERGENCIA EN EL CONTEXTO DE UN MÁSTER", Congreso Internacional de Docencia Universitaria e Innovación (CIDUI - International Congress of University Teaching and Innovation), Barcelona, 5 a 7 de Julho de 2006.

 Contreras Soto, A. R. "Curso Informática en la Planificación Curricular. Sistematización del Processo y Resultados Preliminares de su Aplicación", Masters Thesis, Universidad Mayor, 2006.