Universidad de Almería (SPAIN)
About this paper:
Appears in: INTED2015 Proceedings
Publication year: 2015
Pages: 643-650
ISBN: 978-84-606-5763-7
ISSN: 2340-1079
Conference name: 9th International Technology, Education and Development Conference
Dates: 2-4 March, 2015
Location: Madrid, Spain
Software is present in a multitude of human activities. We must not forget that at the core of the evolution that today's society has been up to, until what has been called the information society, we find the great advance in the construction and use of computer applications. Software must be developed as any other industrial product by applying engineering methods that ensure the quality of the resulting product. Thus appears the software engineering (SE) which the Institute of Electrical and Electronics Engineers (IEEE), defines as "the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software".

Engineering learning process does not only involve knowing and understanding processes, but also being able to apply them. Project-Based Learning (PBL) focuses on learning by doing, and one of its main objectives is to educate people through learning experiences covering complex real problems and different disciplines in a collaborative framework. Therefore, PBL is the methodological paradigm in which the learning of the SE should be supported. An effective and as close to real world as possible implementation of PBL makes the use of a complex hardware and software infrastructure necessary, providing a distributed environment for collaboration and coordination between the different subjects embracing software engineering teaching.

During the two academic years (2012-2013, 2013-2014) we have developed and implemented a working infrastructure based on PBL in several subjects of this discipline of 2nd, 3rd and 4th years of the computer science degree at the University of Almeria. Two technological environments and two clearly differentiated software development projects (development of a video game and a self-registration management system) have been selected, and each environment has been used in the development of one of the projects: on the one hand, the .Net platform, which is the proprietary Microsoft technology for the development of software applications on Windows operating systems; and on the other hand, an environment based on open source tools and technologies focused on the Java platform.

Hardware and software tools provided in this educational infrastructure for project-based learning are similar to those used by software development industry, thus we are training students with some of software tools that they could be using in their professional future. While integrated development environments (IDE) like Eclipse or Microsoft Visual Studio are used for designing and coding software applications, other tools like Microsoft Project, ScrumDo, Redmine, Microsoft Team Foundation Server, Jenkins, Sonar, etc., support the software development process.

Among the academic results obtained, it is remarkable the possibility to carry out a continuous assessment of the work done by the students through the monitoring tools, with an effective detection of plagiarism. Continuous integration tools allow visualizing the evolution of software projects in real time, facilitating the monitoring. Finally, an adequate hardware infrastructure and a common software framework enables student’s integration in collaborative team projects, which we could call as the software development life cycle from a SE point of view.
Software Engineering, Project-Based Learning.