DIGITAL LIBRARY
FINDING THE BEST APPROACH TO TEACH SOFTWARE ENGINEERING IN COMPUTER STUDIES: REVIEWING TWENTY YEARS OF EXPERIENCE
Universitat Jaume I (SPAIN)
About this paper:
Appears in: INTED2014 Proceedings
Publication year: 2014
Pages: 4447-4452
ISBN: 978-84-616-8412-0
ISSN: 2340-1079
Conference name: 8th International Technology, Education and Development Conference
Dates: 10-12 March, 2014
Location: Valencia, Spain
Abstract:
The matter of Software Engineering has been taught in computer studies in the Universitat Jaume I from 1992, just one year after the university started to run. The author started to teach it in 1994 and he has been teaching Software Engineering every academic year until now along of four courses of two different pre-Bologna studies: Computer Science Degree (code II, 5 years) and Information Systems Technical Degree (code ITIG, 3 years); all of them in two consecutive old curricula: 1991 and 2001.

Software Engineering is a technical discipline in continuous evolution because the software technology, software development methods and environments, and hardware technology are changing every few years. Then, provided that the technological challenges in 1994 were very different of the current challenges, the specific objectives and contents of Software Engineering matters have had to evolve too. Now, almost every student is bringing a small but powerful computer plugged to a wide network of communications, contents and storage. There are the smartphones and/or tablets. Therefore, the discipline, in addition to the small business, departmental and enterprise system development, has included scalable-multiplatform mobile application (apps) development for (mainly) Android, Windows and Apple IOS. All together offers a wonderful bunch of opportunities to our students for finding a particular Software Engineering specialty in the professional jungle. But the main objective of developing software systems under strict engineering criteria of quality, robustness, reliability and usability remains unaltered.

To learn efficiently Software Engineering it is required to have some experience in developing software systems. At least, some experience in computer programming and business organization. That has been one of main challenges for teachers because our students, when they started the corresponding Software Engineering course (II or ITIG), had no (or a few) experience in both activities. In addition, students with programming experience have to face the dramatic conversion process from the bad habit of starting a software development just writing source code (computer programming instructions) to the more recommended attitude of thinking inside the business and discover the real problem. They have to go across a very long road that connects both subjects.

Taking in account the discipline challenges, the technological evolution and the student’s skills, the author has applied several educational, motivational and social approaches to teach Software Engineering along these years. And students have been working with different software cases adapted to the corresponding technological age. The educational approaches were applied according the course group profile (small or medium size), kind of studies (3 or 5 years) and estimated student’s skills. The motivational approaches were applied to fight against external sights of market and professional situation which modulated student’s expectatives. And the social approaches were used to explain that a software system has to be integrated in a business or organizational environment and it is mandatory to know that environment and to speak its own jargon. Therefore, this work reviews these approaches, and describes the obtained results in terms of student’ progress and evaluation, and includes some conclusions about how to design and elaborate mixed combos of techniques.
Keywords:
Software Engineering, teaching methods, teaching experience, problem-based learning, project-based learning, teamwork.