Competence Oriented Embedded Systems Course ...

5 downloads 69945 Views 6MB Size Report
ded systems laboratory course by observing students' solu- tion approaches in ..... but software for fi- nite state machines, an android development environment.
Competence Oriented Embedded Systems Course For Computer Science Students Steffen Jaschke, Steffen Büchner, Sigrid Schubert Didactis of Informatics and E-Learning University of Siegen, Germany

Institute of Microsystems Technology University of Siegen, Germany

[email protected]

[email protected]

ABSTRACT This paper describes the evaluation process of an embedded systems laboratory course by observing students’ solution approaches in an embedded systems project. Furthermore, the course’s conditions, organization, objectives and an innovative software/hardware environment are presented. This environment allows the relocation of many tasks and the oftentimes preferred, but time consuming, trial-errorstrategy from the laboratory to the students’ home workplace.

Categories and Subject Descriptors K.3.2 [Computer and Information Science Education]: Computer science education

General Terms Human Factors, Theory, Experimentation.

Keywords Competence development, Systems engineering education, Embedded systems

1.

Andre Schäfer, Rainer Brück

INTRODUCTION

Embedded systems’ significance is undisputed. Nevertheless, embedded systems’ education hasn’t been sufficiently studied till now. As a basis for courses, tasks and curricula, the experts’/professors’ experiences and preferences are successfully of use. But there is no consensus of the students’ competencies that are desired from research or industry. The Artist Education Group put that down to the fact of the diversity of origins, cultures, practices and education [2]. The team of the KOMINA research-project, works particularly on the design of competence oriented computer science education in the field of embedded micro- and nanosystems (EMNS). The main aim is a contribution to didactics

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. WESE’12, October 12, 2012, Tempere, Finland. Copyright 2012 ACM XXXXXXXXXXXXXXXXXXXXX ...$10.00.

of computer science which includes competence building experiments for practical courses. Prior to this project, neither a competence structure model for EMNS nor for computer engineering in higher education has been developed. So the development of an Competence Structure Model (CSM) was necessary to classify the most important competencies of future developers from the experts’ perspective. The research process started with a theoretically derived normative competence structure model (NCSM). As a result of this proceeding, the competencies were clustered in four dimensions (C1-C4 in tab. 1). While we chose a strictly thematic division for breaking down C1 (competencies as preconditions) and C2 (development competencies) to subdimensions, we recommended dividing C3 (competencies for multi-level development) into solution approaches and their interconnections. While C1 contains preconditions for embedded systems engineers like mathematics, english and more, C2 represents the traditional development competencies such as organisation, implementation and testing. The competence dimension C3 depicts the interplay between different views on embedded systems engineering in the development process. On the contrary, the dimension C4 (non-cognitive competencies) includes attitudes, social-communicative competencies, motivational and volitional skills with their strong interconnections to the cognitive dimensions [12][5]. Afterwards, a survey was shipped to 170 German experts in the field of embedded systems to rate the importance of the competence descriptions [13]. This research step led to an Empirically Refined Competence Structure Model (ECSM) which contains six groups of ratings in the range of very important (Class A) to very unimportant (Class F) (see [11], tab. 1). Not all competence descriptions have been voted equally important. For example, take C.2.2 “Requirements analysis”. Competence descriptions of this dimension have been voted into class A, B and C. Because of the experts’ comments parallel and real-time aspects have been added to the necessary competencies for embedded system developers afterwards. In the same step, we have extracted an own subsubdimension for Nano effects. With respect to the most important rated competencies and local conditions we designed a concept for a new practical course called Design and Application of EMS. This course is the best opportunity to prove the didactical hypotheses resulting from our research. Furthermore, it has to be attended by all computer science students, independent from their elected specialization. Hence, we will be able to observe individual competence profiles of students with dif-

C

Dimension

Classes

C1

Preconditions

C1.1

Mathematics

A

C1.2

Physics

B

C1.3

Computer science

B

C1.4

Electrical engineering

C

C1.5

English

B

C1.6

Scientific work

C

C1.7

Learning process

B

C2

Development Competencies

C2.1

Organisation

C2.2

Requirements analysis

A,B,C

C2.3

System design

A,B,C

C2.4

Implementation

A,B

C2.5

Optimization and test

B,C

C3

Multi-level Development

C3.1

Top-down design

A,B

C3.2

Bottom-up design

A,C,D

C3.2.1

Nano effects

˜

C3.3

Jojo

B

C4

Non-cognitive Competencies

C4.1

Attitudes

B

C4.2

Social-Communication S.

A

C4.3

Motivational & Volitional S.

A

A,B

for approximately 15 years. But the course target group changed several times. While the HaPra firstly had been a part of the diploma degree in computer engineering, it was later assigned to students of computer science with subsidiary subject electrical engineering. Due to the bologna process, the course has become a compulsory subject for bachelor and master students (see fig. 2). Now, all computer science students, independent from their elected specialisation, have to attend this course. The University of Siegen offers currently the minor subjects electrical engineering (EE), media science (MS), mathematics (MA), and automotive system engineering (ASE). Beside this, the medical computer science (MCS) will be eligible in 2012. Because of this diversification, the minority of the future participants will have comparable knowledge to electrical engineering students from 2008 (see fig. 1). However, the course’s contents, as well as the required competencies to pass the experiments, haven’t changed from 1998 until today. Due to modifications in the curricula, not all students meet this requirement, as they have different minor subjects and thus less prior knowledge. The HaPra was divided into two parts. The first one dealt with the electronic and physical constraints, which have to be considered while designing integrated circuits. The second, considerably more extensive part, included the design of a 16 bits Reduced Instruction Set Computer (RISC) microprocessor [3]. The processor contained memory and IO interfaces and was realized on a Field Programmable Gate Array (FPGA) by using industrial software (FPGA Advantage by Mentor Graphics). The students developed the processor using the hardware description language VERILOG. The design of the control unit was based on state diagrams. At the end of the course, the students tested their processor using their own written assembler programs.

Table 1: ECSM Overview ferent previous knowledge. The actual course, as described in this paper, serves merely as a transitional step towards the new Design and Application of EMS course. The paper is organized as follows: The next section contains background information about the conditions of the classic- as well as the future Design and Application of EMS course. Of special interest is the student’s prior knowledge and its course design implications for the overall task of the internship. Section three contains the approaches on group division, scheduling and the learning environment. The next section deals with the observation and evaluation of the transitional course concept. This includes the observation scheme and the conditions under which the observation was carried out. At last, the paper ends with conclusions and further work.

2.

BACKGROUND

In this section, the conditions which have led to the laboratory course described in section 3, are discussed.

2.1

General conditions

practical hardware course (HaPra) has been an important element in the apprenticeship of the University of Siegen

Figure 2: Effects of the bologna process

2.2

Reasons for redesign

The use of complex industrial design software was a big obstacle for the students. This complexity wasn’t easy manageable, neither for the students nor for the teachers. This led to problems especially for very creative students, who tried out new solution approaches. Another problem was the insufficient debug and testing possibilty. Hence, wrong design decisions or mistakes in early experiments influenced and oftentimes firstly emerged at the end of the course. If errors regarding the processor occurred in the last experiments, the reasons for this could have been manifold. From wrong settings in their design software, a faulty hardware description, to wrong written assembler code. Hence, an effi-

100

90

57

EE

50

45

40

MA 5 5

17

26

13

27 37

33

31

3 21

MS ASE

2007

2008

2009

2010

2011

2012

3.

COURSE OVERVIEW

Through the empirical refinement of the NCSM we gained a deeper insight into the distribution of important and less important competencies. The competence “(C4.3) motivational and volitional skills”, for example, stands out as one of the most important ones and thus has to be a significant element of the new course concept. Besides the repetition of the fundamentals a real life related project was integrated to meet this requirement. The students have to implement the functionality of a model house with different types of actuators and sensors which have to be readout or triggered interdependently. The controlling has to be implemented with a microcontroller (AVR Xmega-A1 Xplained DemoKit) or an FPGA (Xilinx Spartan 3 Board). To push the motivation from the start on, the working home automation was demonstrated in the opening event. The course concept is completed, but not all described tasks have been implemented till now. For example the physical-technical introduction (see fig. 3) is in need of an improvement (see sec. 4.1). which are divided into two major groups. The first one contains the introduction, which is to align the attendees’ knowledge. This is followed by the second- and bigger part, the home automation. The last two experiments of the implementation part aren’t realized till now (see fig. 3). The concept and content for both is, however, already clear. Main topics will be the interconnec-

1

Basic circuits and components

2

Sensors and laboratory equipment

3

Actuators and pulse width modulation

4

Transistors and signal generation

5

Basic operations (µC/FPGA)

6

ADC, DAC - reading sensors

7

PWM - control actuators

8

Automatic control

Bottom-Up

Implementation

cient debugging was extremely difficult and time-consuming. These circumstances made it absolutely reasonable that the motivation of most students decreased perceptibly over the time. Furthermore, students with no electrical engineering background had a lot of issues and therewith lesser motivation. They argued, that they will never develop a new processor after graduation. Indeed, this argument is not whole to dismiss. Historically, the importance was more obvious and more previous knowledge was available. Not least, because of previously attended courses like computer architecture where the basic principles of instructions and components were mediated. In addition, the application of embedded systems has radically changed during the last years. According to [4] and [10] already 98% of all 32 bits microprocessors are used in embedded systems. The development of EMNS has meanwhile a clearly bigger meaning. This fact can be seen as a opportunity to foster the students’ motivation for embedded system design. Furthermore it’s a chance to build a bridge to all computer science students whether they have previous knowledge in electrical engineering or not.

Introduction

Figure 1: The heterogeneous background of the students increasing

A

 A  A

Figure 3: Course concept

tion of the smartphone with the microcontroller/FPGA via Bluetooth.

3.1

Physical-Technical Introduction

As mentioned earlier, the new introduction is adjusted to computer science students with neither knowledge about embedded systems nor electrical engineering. For that target group a extensive preparation has to be done. Alone or in self-organized groups they have to read literature and do tasks in terms of basic circuits, voltage, current, Ohm’s law, Kirchhoff’s rules and topics of equivalent importance. The students also have to get familiar with laboratory equipment (see fig. 4). In order to consolidate the learned competencies, a post processing is to be done. This includes the documentation of the experiment results and peer-reviewing. One can conclude that declarative knowledge of intended competencies are mediated in preparation tasks. Subsequently, through application-oriented experiments, the competencies get enhanced. Finally, the post processing tasks let the students reflect their work and transfers to the following preparation and experiment. For motivational reasons programming of smartphones has become one well suited instrument [8, 9]. Nevertheless, programming and modifying an application for android based smartphones is a course accompanying task (e.g writing an application that calculate the resistance of resistors’ color codes). Those tasks won’t enhance embedded systems developers’ cognitive competencies in many embedded systems’

specific points. Nevertheless, it enhances the students’ noncognitive competencies like motivation and attitudes (C4). All other tasks are organized bottom-up. The low level of abstraction is necessary to introduce embedded systems’ basics because atomic principles exist that may disappear in higher abstraction levels [6]. Concrete operating instructions of experiments look like this (competencies added): 2.1 ”Build the brightness-, humidity-, and temperature sensor (C1.4) of your prepared circuit (C2.2, C2.3) from preparation task 14/15 on the breadboard. Check roughly whether all sensors operate as expected (C2.5). 2.2 Determine the temperature and humidity in the laboratory (C1.6) with use of the datasheets (C1.4, C1.5). 6.1 Analyze and adapt (C2.5) your code from preparation task 10 to the available microcontroller board (C2.4). 6.2 Let four of the LEDs flash with a duty-cycle of 50 % and a maximum current of the board of 20mA (C2.3, C2.4, C2.5).”

3.2

Implementation of functionality

Based on the introduction a life-world related scenario is used to elucidate the fundamentals of embedded systems: measure, control and regulate a system in an environment. Therefore, the house consists of actuators (LED, peltier, FANs) and sensors (brightness, humidity, temperature indoor, temperature outdoor, shock sensor) and is build up from plywood with a plexiglass window. The students are introduced in principles and differences of FPGAs and microcontrollers and the accompanying programming/description languages. Principles like puls-width modulation that were introduced in the introduction part with the use of an arbitrary generator, are now realized by the students.

3.3

Learning Environment

The development of embedded systems is a complex discipline. Therefore, the students need to know the basics of multiple tools for designing, programming, analyzing, and test the developed embedded system. Not only the tool usage, but their setup too, has to be carefully done. The following section gives an insight to the laboratory equipment and the software tools used. Finally, we want to propose the use of an innovative approach to ease students homework.

3.3.1

Laboratory

The laboratory’s equipment consist of professional tools that are not limited to an educational usage (see fig. 4). For the physical introduction the students need to measure currents and voltages in AC/DC circuits. Therefore an oscilloscope 1 and digital multimeter 3 are available. The power supply unit 4 provides a direct voltage/current with adjustable limiters whereas the function generator 3 can be used for sinus-, triangle-, and square wave generation. More complex signals can be fed into circuitry by the arbitrary waveform generator 5 . Later in the implementation tasks the model house with its sensors 6 and actuators 7 has to be controlled. This is done by either microcontroller 8 programmed via the development tool 9 or FPGA . Because of not available ADCs/DACs on the FPGA, a separate board with that functionality is plugged . In the next section, we will describe the ”USB-Stick based” virtual machine 2 which is connected to the PC. 10

11

Figure 4: Equipment

3.3.2

Development Environment

To prevent mistakes in the setup and to enable comfortable work at home, we have build a USB-Stick which stores a virtual machine and is disposed to every group of students. This machine uses a 32-Bit Linux and ships with a strongly customized and fully functional selection of all important software needed for the experiments. This includes not only the programming and development environments for microcontrollers and FPGAs, but software for finite state machines, an android development environment and needed system tools like ftp-, pdf-, file-browsers, too. For example, we choose eclipse to be the programming environment for our course. The software can be enhanced with a plugin which adds general C support and another plugin which takes care of the transmission of the hex-file to the programmer. The latter only works, if the corresponding libraries and compiler for the AVR-microccontrollers has been installed previously. Students are even able to upload applications to their own android smartphones. In addition the programming of the FPGA can be simulated on the USBStick, which enables the students to check their implementation approach while they are at home. This leads to fewer errors in their preparation and a faster review at the day of the experiments. Unfortunately, there isn’t an equal opportunity for the students working with the microcontroller (yet).

3.3.3

Group division and scheduling

Another very important rated competency of our ECSM are social communicative skills (teamwork, C4.2) in all stages of the development process [7]. Thus, groups out of two students are allocated, to foster this competency. The com-

munication between the groups is very important and not prohibited. Only in the case of cheating, this is noted in the observation. Because of the previously described heterogeneous groups, our course has to provide different types of tasks regarding the diverse knowledge levels. To meet this requirement, the whole course is divided into two major groups. The first group develops the home automation on a microcontroller, the second one uses the FPGA. The FPGA based approach is slightly more difficult. The programming is even more complicated due to the use of VHDL (Very High Speed integrated Circuit Hardware Description Language). While all students had basic training in Java and C there is in most cases no, or only little knowledge in a hardware description language. Students with subsidiary subject area electrical engineering are assigned to the FPGA groups. All groups of one type meet at one particular day in the week due to a better opportunity to discuss their results. To be able to guarantee support, two to three tutors are available for questions, avoiding much too big detours and giving best practising tips regarding work-flow, code style and design. Especially the second part of our pre-tested course, has shown that most students have had problems with the programming language C and VHDL, as well as a limited understanding of a microcontroller or an FPGA. Thus, we gave the students preparation tasks that had to be handled before the actual experiment took place. While this fostered the understanding of e.g. interrupt service routines, bit operations and so on, the application of the knowledge and the connection between these taught elements was still incomplete. The understanding got better as we started a discussion about the pre-experiment tasks before students got to programming or wiring. Due to the fact, that our home automation project is stretched over multiple experiments, the students needed to reuse their already written part later. Especially the first implementations are thus of major importance, as logical errors could be dragged till the last experiments. In the new formed practical course this discussion should be supplemented with a peer review of the groups. The groups should document their solution approaches of the design phase with models and textual explanations. Then these results should be checked in a webbased peer review procedure. The University of Siegen offers the E-Learning platform Moodle. In the past years, the platform was used like a document filing system, making the required documents available to the students. Moodle’s workshop function is now used for peer reviewing. After the students have finished their preparatory work, they have to upload their results to the Moodle workshop. In the next step, these results get rated and optionally commented by other groups of students. As this theoretically works well, there are some restrictions which occurred within the practical application. For example, only the student who committed the group’s results was able to rate and comment the other groups’ results. Because of this disadvantage, only the half of all students had the possibility to rate and comment the other groups. Furthermore, the comments given by the students were very diverse, reaching from only one sentence to a complete text. In addition to the workshop function, Moodle’s testing capabilities are used to look into the knowledge after each

preparation and before the actual experiment. However, the tests are almost only used for the students’ self-control. Every test contains ten questions about the experiment’s topic. To provide different tests to different students, a pool of questions is created. For every requested test, a random set of questions out of this pool is chosen. Predominately the questions are multiple-choice. At the end of the test, the students directly see the result in addition with the correct answers and an internet link for more information to the questions’ topic. Every test can be repeated as often as desired by every student. Nevertheless, every student has to pass the test once to be qualified to participate on the actual experiment. In a survey at the end of the course, 70% of the students perceived this kind of test as helpful and important.

4.

EVALUATION

Because of the small amount of students, the division into two groups, one working on the traditional experiments the other working on new designed ones wasn’t applicable. That’s why an empirical measurement of competencies using test items wasn’t applicable for a comparison too. Due to the reason, that the focus was on getting first experiences with the designed tasks in order to improve them instead of measuring the competence development only, an observation seemed to be more suitable. With an costly and timeconsuming, but exact observation the learning processes itself are much more ascertainable than just interpreting the results of measurements. This includes communication processes as well as the way to solutions with all their unpredictable detours. In order, not to disturb the working process an open, nonparticipant observation method was applied [1]. In that case every observer kept a watch on two groups of two students. While the students knew that they were observed, the observers weren’t allowed to answer questions regarding the experiments or their solutions. To ensure, that all observations can be compared between different observers a joint sheet was used. During the design process of the course the following expectations regarding the students work on each task were noticed: • the approaches, • the possible detours, • the typical mistakes, • the necessary time for each task. However, to verify the expectations, a student assistant did the experiments and noted the selected approach, detours, mistakes, as well as the time needed. His knowledge can be compared to the the usual participants previous knowledge. As a result of that, the observation sheet follows the structure shown in fig. 5.

4.1

Observation and recommendation

One of the main aims was to determine which kind of problems students typically had. After giving an overview about the partially redesigned course, the main mistakes or detours will be presented in this section.

Date/Room/Experiment

Probands

Observer

Signature

Task

Comments/Observation

1. Plug breadboard 1.1 Power supply 1.2 Resistors

Time 20 (

)

5(

)

15 (

)

Expectations a) Short circuits b) Wrong parts

Figure 5: Observation sheet

Oscilloscope. First of all, tasks that required the usage of complex laboratory equipment represented the biggest hurdle. Therefore, it is not surprising that, in most cases, the help of the staff was necessary when students had to use the oscilloscope. Here, the participants failed from connecting it to interpreting the displayed graph. Especially tasks including the oscilloscope’s X-Y Mode hadn’t been made right without any help. All the different problems led to a trial-error-strategy and a weak enhancement of competencies. The students didn’t learn from their errors and applied their obviously bad strategy over all experiments. We assume, that none of the students had been in touch with the oscilloscope before this course. The provided text based operating instructions were insufficient as they haven’t fostered the students actions . Here, a hands-on E-Learning tutorial or tutorials would maybe be a better choice.

Multimeter and arbitrary generator. The second highest number of mistakes has been done at using the multimeter and arbitrary generator. On the one hand interpreting the displayed number and setting the multimeter in the right range was a problem. On the other hand and much more often, basics of electrical engineering were unknown. Oftentimes, the students tried to measure current parallel to the circuit or just didn’t know the difference between current and voltage. As a matter of fact, they needed a lot of help to be able to measure current/voltage at the right points in their circuits. Of course, they also needed help building up the circuit. In addition, the terms amplitude or offset were unknown. Hence, not all mistakes could be asserted to the multimeter/arbitrary generator but to electrical engineering knowledge. The handling errors could have been avoided if the students would have been given a short introduction (video based or in laboratory) instead of a whole user guide. Furthermore, an self-educating approach alone seems to be insufficient, due to an incomplete understanding of sticking points.

Programming. The programming of Java applications for the android platform wasn’t a problem for most participants. This is

firstly because of the excellent documentation and help which is available in the world wide web. Secondly all students have had basic knowledge of Java and if they were unsure about their programs function, they could simply test it. Paradoxically, the same should be true for the programming in the C language. The observation showed that the majority of the students had problems with basic keywords like conditions if the application method is slightly different from the standard software case they know. For example, almost nobody knew how to compare a bit mask inside an if-condition. The solution approaches varied from a simple “=” to “&”. Due to the fact, that the solution could not be easily printed on a command line, a simple trial and error strategy wasn’t applicable. Instead of the command line, we engaged the students to use the LEDs of the microcontroller or FPGA to visualize simple Boolean statements. The problem in this case is, that the students have to be absolutely sure, that they programmed the activation of the LED correctly. In the case of VHDL the students problems were nearly the same. In addition to an incomplete understanding of the notation for conditions and loops, the students have had major problems at understanding the order of events in a hardware description language. It took much explanation till most students could distinct the VHDL constructs which work in a sequential from the ones, that get executed in parallel. It is obvious, that this workflow approach is far from good. Thus, we will try to integrate presentations at the start of some experiments which show the basics of embedded systems programming and the tools usage. All presentations will be previously checked by the persons in charge.

4.1.1

Alignment to the ECSM

Under the condition, that we aim to enhance the students’ most important competencies in the course, we need to align more tasks to the ECSM. We state clear, that this doesn’t lead to a size reduction of tasks regarding electrical engineering (C1.4, Class C) as they are absolutely necessary in our course concept.

5.

CONCLUSION

Based on the previously proposed empirical refined competence structure model, an internship concept which will supersede the actual practical hardware course at the University of Siegen was developed. The main component of the new course is a project in the area of home automation, which, in addition with the programming of actual smartphones, fosters the students’ motivation for the development of embedded systems. This paper contains an example for the consideration of the empirically gained competence recommendations and a proposal in which way they can be included into practical experiments. In order to improve the transitional concept from the actual to the future course an open, non-participating observation of the students was applied. A weak preparation of the students, which is among other things due to the immature of teaching material was noticed. As a novel approach, providing an USB-Sticks with all required software to the students reduces the course’s overhead. This made it possible to program and simulate task outside of the laboratory without changing the majority of the students’ workspace. This approach was honored in the feedback we gained from the students. However, a lot

of work can be done to improve this E-Learning approach. Especially, educational material for the proper usage of multimeter, oscilloscopes and other electrical engineering tools is vital for the teaching of actuators and sensors, as they are a core component of most embedded systems.

6.

FURTHER WORK

Based on the first experiences with the open non-participating observation and it’s results we will develop the missing experiments as well as refining the existing ones. Furthermore, we will develop E-learning material to improve the students’ preparation. Especially the operation of the oscilloscope, the multimeter and the arbitrary generator has to be mediated. An appropriated manner has to be found to teach such complex activity-oriented material at home e.g. by simulations. The important rated non-cognitive competencies will be promoted through designing a more complete project with milestones, interfaces between the groups and task distribution. This will also give an insight to the organization of development processes. With an initial talk about embedded systems’ relevance in research and business the students’ attitudes should be affected positively.

7.

REFERENCES

[1] J. Bortz and N. D¨ oring. Forschungsmethoden und Evaluation f¨ ur Human- und Sozialwissenschaftler. Springer-Lehrbuch. Springer, 2002. Deutsch. [2] P. Caspi, A. Sangiovanni-Vincentelli, L. Almeida, A. Benveniste, B. Bouyssounouse, G. Buttazzo, I. Crnkovic, W. Damm, J. Engblom, G. Folher, M. Garcia-Valls, H. Kopetz, Y. Lakhnech, F. Laroussinie, L. Lavagno, G. Lipari, F. Maraninchi, P. Peti, J. d. l. Puente, N. Scaife, J. Sifakis, R. de Simone, M. Torngren, P. Ver´ıssimo, A. J. Wellings, R. Wilhelm, T. Willemse, and W. Yi. Guidelines for a graduate curriculum on embedded software and systems. ACM Trans. Embed. Comput. Syst., 4(3):587–611, Aug. 2005. [3] A. Hertwig and R. Br¨ uck. Entwurf digitaler Systeme: Von den Grundlagen zum Prozessorentwurf mit FPGAs. Hanser, M¨ unchen, 2000. Deutsch. [4] D. J. Jackson and P. Caspi. Embedded systems education - future directions, initiatives, and cooperation. ACM SIGBED Review, 2(4):1–4, 2005. [5] S. Jaschke, S. Schubert, A. Sch¨ afer, R. Br¨ uck, B. Kleinert, H. Schmidt, and D. Fey. Competence research: Teaching embedded micro/nano systems. In J. Jackson, P. Marwedel, and K. Ricks, editors, Workshop on Embedded Systems Education, Taipei, Taiwan, 2010. ACM. [6] E. A. Lee and S. A. Seshia. An introductory textbook on cyber-physical systems. In Proceedings of the 2010 Workshop on Embedded Systems Education, WESE ’10, pages 1:1–1:6, New York, NY, USA, 2010. ACM. [7] R. Lingard and S. Barkataki. Teaching teamwork in engineering and computer science. In Frontiers in Education Conference (FIE), 2011, pages F1C–1 –F1C–5, oct. 2011. [8] J. K. Muppala. Bringing embedded software closer to computer science students. SIGBED Rev., 4(1):11–16, Jan. 2007.

[9] J. K. Muppala. Teaching embedded software concepts using android. In Proceedings of the 6th Workshop on Embedded Systems Education, WESE ’11, pages 32–37, New York, NY, USA, 2011. ACM. [10] K. G. Ricks, D. J. Jackson, and W. A. Stapleton. An embedded systems curriculum based on the ieee/acm model curriculum. IEEE Transactions on Education, 51(2):262–270, 2008. [11] A. Sch¨ afer, R. Br¨ uck, S. B¨ uchner, S. Jaschke, S. Schubert, D. Fey, B. Kleinert, and H. Schmidt. The empirically refined competence structure model for embedded micro- and nanosystems. In Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education, ITiCSE ’12, pages 57–62, New York, NY, USA, 2012. ACM. [12] A. Sch¨ afer, R. Br¨ uck, S. Jaschke, S. Schubert, D. Fey, B. Kleinert, and H. Schmidt. A normative competence structure model for embedded micro- and nanosystems development. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education - ITiCSE ’11, page 375. ACM Press, 2011. [13] A. Sch¨ afer, R. Br¨ uck, B. Kleinert, H. Schmidt, D. Fey, S. B¨ uchner, S. Jaschke, and S. Schubert. Competence model for embedded micro-and nanosystems. In Global Engineering Education Conference (EDUCON), 2012 IEEE, pages 1 –6, april 2012.