This paper discusses third-level educational programmes that are intended to prepare their graduates for a career building systems in which software plays a major role. Such programmes are modelled on traditional Engineering programmes but have been tailored to applications that depend heavily on software. Rather than describe knowledge that should be taught, we describe capabilities that students should acquire in these programmes. The paper begins with some historical observations about the software development field. (C) 2016 Elsevier Inc. All rights reserved.
The software engineering curriculum offered by the University of Stuttgart emphasizes project work from the first to the last semester. While some of the projects are similar to those in other programs, others are less common. In this paper, we describe an introductory course called “Program Understanding”, and the so called “Consulting Task”. We also give a short description of what we call the First Software Project and the Large Software Project. In the Program Understanding course, new students learn to understand a fairly large, complex program in order to implement some modifications. In the Large Software Project, some ten people work on a serious software development for one year. In the Consulting Task, a group of three students analyses a problem, usually one given by an industrial partner. The students investigate possible solutions, and finally deliver a recommendation. Both our experience and feedback from students, including feedback from alumni, prove that these projects are very successful and highly esteemed.
In 1996, a new Software Engineering curriculum was launched at Universität Stuttgart. It was based on many years of practical experience teaching computer science and also on experience in industry where most of our graduates will find jobs. While the topics of this curriculum are not very different from those of computer science, there is much more emphasis on problem solving, software construction, and project work. In 2009, our traditional curriculum leading to the so-called diploma (equivalent to a master’s degree) will be replaced by a new curriculum according to the bachelor and master concept. This chapter describes both the old and the new curriculum, and discusses problems and achievements.
Dieser Artikel beschreibt die aktuelle Lage der Ausbildung und Zertifizierung in der Software-Branche im Allgemeinen und in der industriellen Software-Wartung im Speziellen. Dabei zeigt sich, dass eine Ausbildung fur die Tatigkeiten der Software-Wartung fehlt. Um diesen Missstand zu beheben, wird im Artikel das Modell eines idealen Software-Warters entworfen und werden dessen Fahigkeiten beschrieben. Aus diesen Fahigkeiten wird unter den gegebenen industriellen Rahmenbedingungen ein Ausbildungsund Zertifizierungskonzept fur die Software-Wartung in der Industrie abgeleitet.
Improving the software process is a very popular topic both for research, and for software managers in industry. The usual way is top down, starting from a general process model. Any low level decision in the project is somehow influenced, or even determined, from the process model. In SESAM (Software Engineering Simulation by Animated Models), we take the opposite approach: We model the components of a software project, the staff, the documents, and many of their attributes and relationships. The project leader is not simulated, this role is taken by the “player”. Then, the project is simulated, very much like an aeroplane is simulated by a flight simulator, which is used for teaching pilots. SESAM is intended to be used for teaching project leaders. The paper presents the basic ideas, problems, and achievements of SESAM, its current state, and the results we have.
Modelling is a concept fundamental for software engineering. In this paper, the word is defined and discussed from various perspectives. The most important types of models are presented, and examples are given. Models are very useful, but sometimes also dangerous, in particular to those who use them unconsciously. Such problems are shown. Finally, the role of models in software engineering research is discussed.
Simulation is frequently used for training in many application areas like aviation and economics, but not in software engineering. We present the SESAM project which focuses on software engineering education using simulation. In the SESAM project a simulator was developed. Using this simulator, a student can take the role of a software project manager. The simulated software project can be finished within a couple of hours because it is simulated in “quick-motion” mode. The background and goals of the SESAM project are presented. A new simulation model, the so called QA model, is introduced. The model behavior is demonstrated by investigating and comparing different strategies for software development. The results of experiments based on the QA model are reported. Finally, conclusions are drawn from the experiments and future work is outlined
Kurt Schneider合作论文数Software Engineering Group, Leibniz Universitat Hannover, Hannover, Germany10