Project-Based Learning: An Environment to Prepare IT Students for an Industry Career

Project-Based Learning: An Environment to Prepare IT Students for an Industry Career

Luís M. Alves (Instituto Politécnico de Bragança, Portugal), Pedro Ribeiro (Universidade do Minho, Portugal) and Ricardo J. Machado (Universidade do Minho, Portugal)
DOI: 10.4018/978-1-5225-3923-0.ch080

Abstract

The lack of preparation of Software Engineering (SE) graduates for a professional career is a common complaint raised by industry practitioners. One approach to solving, or at least mitigating, this problem is the adoption of the Project-Based Learning (PBL) training methodology. Additionally, the involvement of students in real industrial projects, incorporated as a part of the formal curriculum, is a well-accepted means for preparing students for their professional careers. The authors involve students from BSc, MSc, and PhD degrees in Computing in developing a software project required by a real client. This chapter explains the educational approach to training students for industry by involving them with real clients within the development of software projects. The educational approach is mainly based on PBL principles. With the approach, the teaching staff is responsible for creating an environment that enhances communications, teamwork, management, and engineering skills in the students involved.
Chapter Preview
Top

Introduction

During Software Engineering (SE) training, it is very difficult to provide industry-standard knowledge and skills, especially non-technical knowledge. These skills can be grouped into three main areas: management, engineering and personal. One challenge facing SE education is that the current lecture-based curriculum hardly engages students. Students often view SE principles as mere academic concepts, which are less interesting and less valuable. The reality is that Computer Science (CS) and Information Systems (IS) graduates often have to develop SE knowledge and skills, especially non-technical knowledge and skills, later on, when they start their careers in industry.

The lack of preparation of SE graduates for a professional career is a common complaint raised by industry practitioners (Karunasekera & Bedse, 2007). One approach to solving, or at least mitigating this problem, is the adoption of the Project Based Learning (PBL) (Barrows & Tamblyn, 1980) training methodology. Involving students in industry projects during their undergraduate degree is a well-accepted method of preparing students for their professional careers.

In our approach we involve students from BSc, MSc and PhD degrees in Computing from our university to develop a complete software project requested by a real client. At the BSc level (Bologna 1st cycle) we involve students from Software Process and Methodologies (PMS) and Development of Software Applications (DAI) courses. At the MSc level (Bologna 2nd cycle) we involve students from Analysis and Design of Information Systems (ACSI) and Project Management of Information Systems (GPSI) courses. The curriculum integration and the pedagogical cooperation, through an integrated project between the four courses in analysis, are intended to promote students to work in a software development environment that is similar to an organization environment. Parts of the contents of these courses were also framed several times in training given by the teachers in business or industrial contexts, under protocols between the university and relevant organizations.

In this group of courses we must highlight the DAI course because of the unifying role it plays when compared to the remaining three. DAI has a learning value of 10 ECTS (European Credit Transfer and Accumulation System) and teachers of subsequent courses “expect” from students an effective ability to develop IT (Information Technology) solutions to problems with medium complexity. This main goal drives the teaching team to adopt a set of procedures and pedagogical practices capable of dealing with the complexity inherent in managing a course of this kind.

To perform these software projects, students pursuing the same degree constitute the teams. However, they have to work in close collaboration with teams from other degrees. The teaching staff is responsible for creating an environment that enhances communications skills, team working skills, management skills and engineering skills of the students involved. It is a well-accepted fact that a competent software engineer requires a wide variety of skills in areas such as management, engineering, team working and communication (Ali, 2006; Nunan, 1999).

Another challenge is to evaluate teams and individuals who develop unique industry projects (Clark, 2005). In our case, we use “Assessment Milestones” distributed throughout the semester that allow us to track the students' work progress and thus avoid an end-point evaluation only.

Our approach presents an advance in SE education, in order to overcome the aforementioned challenges. The teams have the opportunity to interact with a real client. They can learn and apply SE principles through a real software project. Thus, they can evolve and improve their technical and non-technical skills. In our setting we promote a win-win approach for all stakeholders: clients, students, teachers and researchers. Clients will have state of the art projects implemented in their companies. Students can acquire technical and non-technical skills and work closely with real-world problems. Teachers will have the opportunity to teach technical knowledge authentically and realize new problems that companies are facing. Researchers can perform experiments on new and/or existing techniques, tools and methods. This gives us the opportunity to provide guidelines for SE educators in order to improve their curricula and provide CS students with ready-to-apply SE knowledge skills.

Complete Chapter List

Search this Book:
Reset