Software Engineering is a young area compared to other engineering disciplines. The subject is rapidly moving and more questions than answers seem to appear. Usually, Software Engineering projects involve several people for a prolonged time. Large projects range over several months or years and involve considerable groups of people developing massive systems. Such systems are complex because of their size, and because they need to be regularly modified in order to meet new and changed customer requirements, and because of the need to correct faulty products. We have found it very important to highlight as many questions as possible that appear within Software Engineering already in the education programme. The strategy is to provide as much practical experience from projects as possible, and to let the students be aware of questions and problems before they get possible answers and solutions to those questions. In order to have the right practical training, you have to initiate active tasks on the courses. Some parts come automatically from initiatives from students, but some parts need to be coerced by the teachers. We have noticed that it is important to introduce specific fields in Software Engineering, with a successively increasing emphasis. To achieve high understanding, the order and emphasis need to be carefully considered. This paper describes five fields that we think should be emphasized in this way. These fields are specification, system decomposition, planning, tracking and verification.