1. Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
Status in Teaching Debugging
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
Klaus Kolle
(klausk@iha.dk)
First Year
Second Year
Third Year
Summary
Aarhus University
School of Engineering
ASE
23 October 2013
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
1
2. Status in Teaching
Debugging
Presentation Outline
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
1 Introducton
Debugging in the
Study
EDE Background
Profile of the EDE engineer
First Year
Second Year
Third Year
Summary
2 Debugging in the Study
First Year
Second Year
Third Year
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
2
3. Status in Teaching
Debugging
Presentation Outline
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
1 Introducton
Debugging in the
Study
EDE Background
Profile of the EDE engineer
First Year
Second Year
Third Year
Summary
2 Debugging in the Study
First Year
Second Year
Third Year
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
3
4. What is the EDE Study Programme?
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
• 25 years ago, Vestjysk Teknikum was founded in
Herning with E-ingeniør as the first engineering
education in the area
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
4
5. What is the EDE Study Programme?
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
• 25 years ago, Vestjysk Teknikum was founded in
Herning with E-ingeniør as the first engineering
education in the area
• After going through several mergers, EDE - Electronic
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Design Engineer - is now a part of Aarhus University
School of Engineering
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
4
6. What is the EDE Study Programme?
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
• 25 years ago, Vestjysk Teknikum was founded in
Herning with E-ingeniør as the first engineering
education in the area
• After going through several mergers, EDE - Electronic
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Design Engineer - is now a part of Aarhus University
School of Engineering
• I’ve been teaching at EDE since 1999; first as a
freelancer and since 2006 in a tenure position
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
4
7. Status in Teaching
Debugging
Presentation Outline
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
1 Introducton
Debugging in the
Study
EDE Background
Profile of the EDE engineer
First Year
Second Year
Third Year
Summary
2 Debugging in the Study
First Year
Second Year
Third Year
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
5
8. Content of the Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• Focus is on embedded systems
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
6
9. Content of the Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• Focus is on embedded systems
• The student will learn to design both analogue and
digital electronics as well as the software necessary for
the device
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
6
10. Content of the Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• Focus is on embedded systems
• The student will learn to design both analogue and
digital electronics as well as the software necessary for
the device
• The student will learn the basic theories and apply them
in projects during the whole study
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
6
11. Content of the Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• Focus is on embedded systems
• The student will learn to design both analogue and
digital electronics as well as the software necessary for
the device
• The student will learn the basic theories and apply them
in projects during the whole study
• First year is mainly focused on teaching the basic
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
mathematics, physics, electronics and software
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
6
12. Content of the Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• Focus is on embedded systems
• The student will learn to design both analogue and
digital electronics as well as the software necessary for
the device
• The student will learn the basic theories and apply them
in projects during the whole study
• First year is mainly focused on teaching the basic
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
mathematics, physics, electronics and software
• Second year is building on the skills learnt in first year
and extending those with more software, digital and
analogue electronics, interaction design, web technology
and control systems theory
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
6
13. Content of the Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• Focus is on embedded systems
• The student will learn to design both analogue and
digital electronics as well as the software necessary for
the device
• The student will learn the basic theories and apply them
in projects during the whole study
• First year is mainly focused on teaching the basic
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
mathematics, physics, electronics and software
• Second year is building on the skills learnt in first year
and extending those with more software, digital and
analogue electronics, interaction design, web technology
and control systems theory
• Third year (+ half a year) comprises the elective
courses and the company placement. The 7th semester
concludes with the final project
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
6
14. Status in Teaching
Debugging
Projects
Klaus Kolle
(klausk@iha.dk)
• In the first two years, there is a project each semester
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
7
15. Status in Teaching
Debugging
Projects
Klaus Kolle
(klausk@iha.dk)
• In the first two years, there is a project each semester
• The theory acquired should be applied in these projects,
i.e. through projects the student gains hands-on
experience with the theory
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
7
16. Status in Teaching
Debugging
Projects
Klaus Kolle
(klausk@iha.dk)
• In the first two years, there is a project each semester
• The theory acquired should be applied in these projects,
i.e. through projects the student gains hands-on
experience with the theory
• The fifth semester project, third year, is always carried
out in cooperation with an industrial partner
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
7
17. Status in Teaching
Debugging
Projects
Klaus Kolle
(klausk@iha.dk)
• In the first two years, there is a project each semester
• The theory acquired should be applied in these projects,
i.e. through projects the student gains hands-on
experience with the theory
• The fifth semester project, third year, is always carried
out in cooperation with an industrial partner
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• Placements (6th semester) are always in a company -
often the same company as the one the students
cooperated with on the 5th semester project
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
7
18. Status in Teaching
Debugging
Projects
Klaus Kolle
(klausk@iha.dk)
• In the first two years, there is a project each semester
• The theory acquired should be applied in these projects,
i.e. through projects the student gains hands-on
experience with the theory
• The fifth semester project, third year, is always carried
out in cooperation with an industrial partner
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• Placements (6th semester) are always in a company -
often the same company as the one the students
cooperated with on the 5th semester project
• The final project is always done in cooperation with a
company - often also the company where the student
did his/her placement
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
7
19. International Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
• EDE is an international study programme taught in
English
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
8
20. International Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
• EDE is an international study programme taught in
English
• We have up to 30% students from outside of Denmark
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
8
21. International Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
• EDE is an international study programme taught in
English
• We have up to 30% students from outside of Denmark
• The foreign students mainly come from EU countries
but Asia, Africa and North America are also or have
been represented
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
8
22. International Study Programme
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
• EDE is an international study programme taught in
English
• We have up to 30% students from outside of Denmark
• The foreign students mainly come from EU countries
but Asia, Africa and North America are also or have
been represented
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• This gives the students a multi-cultural class and a
study environment which will both ’soften’ and ’harden’
them before entering the job market
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
8
23. Status in Teaching
Debugging
Presentation Outline
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
1 Introducton
Debugging in the
Study
EDE Background
Profile of the EDE engineer
First Year
Second Year
Third Year
Summary
2 Debugging in the Study
First Year
Second Year
Third Year
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
9
24. Debugging in the First Year of Study
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• In first semester, when introduced to the C
programming language, debugging is introduced
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
10
25. Debugging in the First Year of Study
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• In first semester, when introduced to the C
programming language, debugging is introduced
• For several reasons Eclipse is the chosen platform to
work on, but one is that it installs on all major
operating systems
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
10
26. Debugging in the First Year of Study
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• In first semester, when introduced to the C
programming language, debugging is introduced
• For several reasons Eclipse is the chosen platform to
work on, but one is that it installs on all major
operating systems
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• The students learn to set break points and inspect
variables as the way to getting their very small
programs to work as required
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
10
27. Debugging in the First Year of Study
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
• In first semester, when introduced to the C
programming language, debugging is introduced
• For several reasons Eclipse is the chosen platform to
work on, but one is that it installs on all major
operating systems
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• The students learn to set break points and inspect
variables as the way to getting their very small
programs to work as required
• If a situation arises, other aspect of debugging may be
taught, e.g. conditional breakpoints may be convenient
to know
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
10
28. Status in Teaching
Debugging
First Year on Hardware
Klaus Kolle
(klausk@iha.dk)
Introducton
• Currently we use the Mbed platform for our projects in
the first year projects - blinking LEDs and printf may be
a way to debug the robot over the serial line
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
11
29. Status in Teaching
Debugging
First Year on Hardware
Klaus Kolle
(klausk@iha.dk)
Introducton
• Currently we use the Mbed platform for our projects in
the first year projects - blinking LEDs and printf may be
a way to debug the robot over the serial line
• The mBed is a small ”arduino-like” platform with an
NXP cortex M3 device used through a cloud compiler
with a huge repository of easy-to-use examples and
source code availible
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
11
30. Status in Teaching
Debugging
First Year on Hardware
Klaus Kolle
(klausk@iha.dk)
Introducton
• Currently we use the Mbed platform for our projects in
the first year projects - blinking LEDs and printf may be
a way to debug the robot over the serial line
• The mBed is a small ”arduino-like” platform with an
NXP cortex M3 device used through a cloud compiler
with a huge repository of easy-to-use examples and
source code availible
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• This allows students to become familiar with embedded
programming without having to worry about device
drivers, makefiles and other complex issues
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
11
31. Status in Teaching
Debugging
Presentation Outline
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
1 Introducton
Debugging in the
Study
EDE Background
Profile of the EDE engineer
First Year
Second Year
Third Year
Summary
2 Debugging in the Study
First Year
Second Year
Third Year
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
12
32. Status in Teaching
Debugging
Second Year Project
Klaus Kolle
(klausk@iha.dk)
• In second year focus is on Systems Engineering, i.e.
specification and development of a complete embedded
system
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
13
33. Status in Teaching
Debugging
Second Year Project
Klaus Kolle
(klausk@iha.dk)
• In second year focus is on Systems Engineering, i.e.
specification and development of a complete embedded
system
• This includes learning to work using a method, however
this is out of scope of today’s talk
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
13
34. Status in Teaching
Debugging
Second Year Project
Klaus Kolle
(klausk@iha.dk)
• In second year focus is on Systems Engineering, i.e.
specification and development of a complete embedded
system
• This includes learning to work using a method, however
this is out of scope of today’s talk
• Last year’s and this year’s project work is our Zenith 33
electric car which participated and will be participating
in the Shell EcoMarathon Race in Rotterdam in May
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
13
35. Status in Teaching
Debugging
Second Year Project
Klaus Kolle
(klausk@iha.dk)
• In second year focus is on Systems Engineering, i.e.
specification and development of a complete embedded
system
• This includes learning to work using a method, however
this is out of scope of today’s talk
• Last year’s and this year’s project work is our Zenith 33
electric car which participated and will be participating
in the Shell EcoMarathon Race in Rotterdam in May
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• last year, we ended up fifth out of approximately thirty
cars
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
13
36. Status in Teaching
Debugging
Second Year Project
Klaus Kolle
(klausk@iha.dk)
• In second year focus is on Systems Engineering, i.e.
specification and development of a complete embedded
system
• This includes learning to work using a method, however
this is out of scope of today’s talk
• Last year’s and this year’s project work is our Zenith 33
electric car which participated and will be participating
in the Shell EcoMarathon Race in Rotterdam in May
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• last year, we ended up fifth out of approximately thirty
cars
• this was a very fine result knowing that the car was
built in a hurry and literally ”thrown” together in
Rotterdam just before the race
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
13
37. Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
14
38. Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
14
39. Status in Teaching
Debugging
Subcontractors
• The students are divided into sub-teams, in which each
team must supply parts for the complete control system
of the car
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
15
40. Status in Teaching
Debugging
Subcontractors
• The students are divided into sub-teams, in which each
team must supply parts for the complete control system
of the car
• This will train the students in cooperation, negotiation
and other teamwork disciplines
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
15
41. Status in Teaching
Debugging
Subcontractors
• The students are divided into sub-teams, in which each
team must supply parts for the complete control system
of the car
• This will train the students in cooperation, negotiation
and other teamwork disciplines
• Debugging is also part of getting the interoperation
between stand-alone devices up and running
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
15
42. Status in Teaching
Debugging
Subcontractors
• The students are divided into sub-teams, in which each
team must supply parts for the complete control system
of the car
• This will train the students in cooperation, negotiation
and other teamwork disciplines
• Debugging is also part of getting the interoperation
between stand-alone devices up and running
• Debugging or inspection of network packages using
Wireshark is often introduced as a tool to debug
solutions that communicates over TCP/IP
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
15
43. Status in Teaching
Debugging
Subcontractors
• The students are divided into sub-teams, in which each
team must supply parts for the complete control system
of the car
• This will train the students in cooperation, negotiation
and other teamwork disciplines
• Debugging is also part of getting the interoperation
between stand-alone devices up and running
• Debugging or inspection of network packages using
Wireshark is often introduced as a tool to debug
solutions that communicates over TCP/IP
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• The students are introduced to a ”full” embedded
platform with a (legacy) ARM7 (NXP LPC2478) device
capable of running either ”bare metal” (OS-less)
applications, or has the ability to boot a uClinux
(MMU-less). In addition the students will become
familiar with writing Linux device drivers, and
embedded applications
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
15
44. Subcontractors
• The students are divided into sub-teams, in which each
team must supply parts for the complete control system
of the car
• This will train the students in cooperation, negotiation
and other teamwork disciplines
• Debugging is also part of getting the interoperation
between stand-alone devices up and running
• Debugging or inspection of network packages using
Wireshark is often introduced as a tool to debug
solutions that communicates over TCP/IP
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• The students are introduced to a ”full” embedded
platform with a (legacy) ARM7 (NXP LPC2478) device
capable of running either ”bare metal” (OS-less)
applications, or has the ability to boot a uClinux
(MMU-less). In addition the students will become
familiar with writing Linux device drivers, and
embedded applications
• Along with this platform, the student have to compile
and become familiar with the gcc binutils for the ARM
platform
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
15
45. Status in Teaching
Debugging
Understand the Hardware
Klaus Kolle
(klausk@iha.dk)
• Together with a couple of other colleagues my colleague
Morten Opprud Jakobsen and I, form the teaching team
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
16
46. Status in Teaching
Debugging
Understand the Hardware
Klaus Kolle
(klausk@iha.dk)
• Together with a couple of other colleagues my colleague
Morten Opprud Jakobsen and I, form the teaching team
• Especially Morten and I have synchronised our teaching
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
16
47. Status in Teaching
Debugging
Understand the Hardware
Klaus Kolle
(klausk@iha.dk)
• Together with a couple of other colleagues my colleague
Morten Opprud Jakobsen and I, form the teaching team
• Especially Morten and I have synchronised our teaching
• Morten teaches digital electronics (FPGA design) and
simple ”bare metal” software drivers for embedded
systems
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
16
48. Status in Teaching
Debugging
Understand the Hardware
Klaus Kolle
(klausk@iha.dk)
• Together with a couple of other colleagues my colleague
Morten Opprud Jakobsen and I, form the teaching team
• Especially Morten and I have synchronised our teaching
• Morten teaches digital electronics (FPGA design) and
simple ”bare metal” software drivers for embedded
systems
• Morten states: In order to debug the software, you
need to understand the hardware!
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
16
49. Status in Teaching
Debugging
Understand the Hardware
Klaus Kolle
(klausk@iha.dk)
• Together with a couple of other colleagues my colleague
Morten Opprud Jakobsen and I, form the teaching team
• Especially Morten and I have synchronised our teaching
• Morten teaches digital electronics (FPGA design) and
simple ”bare metal” software drivers for embedded
systems
• Morten states: In order to debug the software, you
need to understand the hardware!
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• Identify useful GPIO/UART/other debug hooks
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
16
50. Status in Teaching
Debugging
Understand the Hardware
Klaus Kolle
(klausk@iha.dk)
• Together with a couple of other colleagues my colleague
Morten Opprud Jakobsen and I, form the teaching team
• Especially Morten and I have synchronised our teaching
• Morten teaches digital electronics (FPGA design) and
simple ”bare metal” software drivers for embedded
systems
• Morten states: In order to debug the software, you
need to understand the hardware!
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• Identify useful GPIO/UART/other debug hooks
• Introduce serial line and JTAG debug options
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
16
51. Status in Teaching
Debugging
Understand the Hardware
Klaus Kolle
(klausk@iha.dk)
• Together with a couple of other colleagues my colleague
Morten Opprud Jakobsen and I, form the teaching team
• Especially Morten and I have synchronised our teaching
• Morten teaches digital electronics (FPGA design) and
simple ”bare metal” software drivers for embedded
systems
• Morten states: In order to debug the software, you
need to understand the hardware!
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• Identify useful GPIO/UART/other debug hooks
• Introduce serial line and JTAG debug options
• Understand the bootloader and its influence on the HW
set-up
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
16
52. Status in Teaching
Debugging
Understand the Hardware
Klaus Kolle
(klausk@iha.dk)
• Together with a couple of other colleagues my colleague
Morten Opprud Jakobsen and I, form the teaching team
• Especially Morten and I have synchronised our teaching
• Morten teaches digital electronics (FPGA design) and
simple ”bare metal” software drivers for embedded
systems
• Morten states: In order to debug the software, you
need to understand the hardware!
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• Identify useful GPIO/UART/other debug hooks
• Introduce serial line and JTAG debug options
• Understand the bootloader and its influence on the HW
set-up
• Perform simple profiling using a scope and GPIO
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
16
53. Debugging Embedded Hardware
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
17
54. Status in Teaching
Debugging
Software Engineering
Klaus Kolle
(klausk@iha.dk)
• In parallel with Mortens more HW oriented approach I
teach the more general principles of debugging
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
18
55. Status in Teaching
Debugging
Software Engineering
Klaus Kolle
(klausk@iha.dk)
• In parallel with Mortens more HW oriented approach I
teach the more general principles of debugging
• I’ve taught the art of debugging as part of another
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
course during the past years
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
18
56. Status in Teaching
Debugging
Software Engineering
Klaus Kolle
(klausk@iha.dk)
• In parallel with Mortens more HW oriented approach I
teach the more general principles of debugging
• I’ve taught the art of debugging as part of another
course during the past years
• Starting from next summer we will offer a Software
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Engineering course, which partly is based on the
course content of the current course
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
18
57. Status in Teaching
Debugging
Software Engineering
Klaus Kolle
(klausk@iha.dk)
• In parallel with Mortens more HW oriented approach I
teach the more general principles of debugging
• I’ve taught the art of debugging as part of another
course during the past years
• Starting from next summer we will offer a Software
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Engineering course, which partly is based on the
course content of the current course
• ”Debugging is twice as hard as writing the code in the
first place. Therefore, if you write the code as cleverly
as possible, you are, by definition, not smart enough to
debug it.” - Brian W. Kernighan.
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
18
58. Status in Teaching
Debugging
Reliable Code
Main topic
Debugging
Code optimisation
Subtopic
Determining where
to develop and debug
Local debugging
Remote debugging
using gdb/ddd +
gdbserver
Use the compiler
options
Lint
Profiling
SW test
Equivalence
classes
BlackBox
WhiteBox
Coverage
Integration
Continuous
gration
inte-
Writing Reliable Code
Keywords from the content
Debug on the development host rather than on the target
maybe using stubs to emulate absent HW
Assertions, ”printf”, Eclipse - breakpoints, watches, etc., gdb
+ ddd, unsystematic debugging, systematic debugging and
scientific debugging principles
Debugging a remote embedded system (working on two different CPU architectures)
Compilers are good at reporting potential problems
Static analysis of the code - if the compiler does not report
enough potential problems
Dynamic analysis of the program. Where does the CPU
power go?
Defining the sufficient test set
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Testing without knowing the implementation
Testing having insight in the design
Did we test all code?
Putting it all together
Putting together the pieces continuously
Other topics in the course are: The process of creating
executables from source code, make, git, virtualisation and
databases
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
19
59. Where to Develop and Debug
• In my opinion it is often much easier to develop and
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
debug on a well-running development host
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
20
60. Where to Develop and Debug
• In my opinion it is often much easier to develop and
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
debug on a well-running development host
• But it requires that stubs are written to mimic the
missing HW
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
20
61. Where to Develop and Debug
• In my opinion it is often much easier to develop and
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
debug on a well-running development host
• But it requires that stubs are written to mimic the
missing HW
• With a deep understanding of the HW, this should be
no problem ...
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
20
62. Where to Develop and Debug
• In my opinion it is often much easier to develop and
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
debug on a well-running development host
• But it requires that stubs are written to mimic the
missing HW
• With a deep understanding of the HW, this should be
no problem ...
• To quote Morten once again: ”The HW always
behaves a ”bit” different than models (errata
sheets, special conditions, interrupts, reset/boot
behaviour, voltage drops, etc...). It is always vital
to verify/profile/investigate the health of the
(actual) running system before deployment”
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
20
63. Where to Develop and Debug
• In my opinion it is often much easier to develop and
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
debug on a well-running development host
• But it requires that stubs are written to mimic the
missing HW
• With a deep understanding of the HW, this should be
no problem ...
• To quote Morten once again: ”The HW always
behaves a ”bit” different than models (errata
sheets, special conditions, interrupts, reset/boot
behaviour, voltage drops, etc...). It is always vital
to verify/profile/investigate the health of the
(actual) running system before deployment”
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• But of course it is a matter of choice between the time
invested in developing HW stubs and spending the same
amount of time (or more) in the round-trip time when
developing on a low-powered target ...
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
20
64. Where to Develop and Debug
• In my opinion it is often much easier to develop and
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
debug on a well-running development host
• But it requires that stubs are written to mimic the
missing HW
• With a deep understanding of the HW, this should be
no problem ...
• To quote Morten once again: ”The HW always
behaves a ”bit” different than models (errata
sheets, special conditions, interrupts, reset/boot
behaviour, voltage drops, etc...). It is always vital
to verify/profile/investigate the health of the
(actual) running system before deployment”
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• But of course it is a matter of choice between the time
invested in developing HW stubs and spending the same
amount of time (or more) in the round-trip time when
developing on a low-powered target ...
• But sometimes it is not an option to go on the target as
it has not been developed yet
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
20
65. Status in Teaching
Debugging
Local Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• Debugging locally is where the code runs on the
development host
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
21
66. Status in Teaching
Debugging
Local Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• Debugging locally is where the code runs on the
development host
• Introduction to concepts in debugging
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Debugging in the
Study
First Year
Second Year
Third Year
Summary
21
67. Status in Teaching
Debugging
Local Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• Debugging locally is where the code runs on the
development host
• Introduction to concepts in debugging
• Unsystematic debugging
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Debugging in the
Study
First Year
Second Year
Third Year
Summary
21
68. Status in Teaching
Debugging
Local Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• Debugging locally is where the code runs on the
development host
• Introduction to concepts in debugging
• Unsystematic debugging
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• Systematic debugging
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
21
69. Status in Teaching
Debugging
Local Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• Debugging locally is where the code runs on the
development host
• Introduction to concepts in debugging
• Unsystematic debugging
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• Systematic debugging
• Scientific debugging
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
21
70. Status in Teaching
Debugging
Debugging Concepts
Klaus Kolle
(klausk@iha.dk)
Introducton
• To establish the vocabulary I first introduce how a
defect infects the code, and that the infection
propagates to a failure, which is an externally
observable error
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
22
71. Status in Teaching
Debugging
Debugging Concepts
Klaus Kolle
(klausk@iha.dk)
Introducton
• To establish the vocabulary I first introduce how a
defect infects the code, and that the infection
propagates to a failure, which is an externally
observable error
• Classification of bug types can also be useful (Bohrbug,
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Mandelbug, Heisenbug, Schr¨dinbug, Phase of the
o
Moon bug, Statistical bug, Noob bug (or Noobug))
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
22
72. Status in Teaching
Debugging
Debugging Concepts
Klaus Kolle
(klausk@iha.dk)
Introducton
• To establish the vocabulary I first introduce how a
defect infects the code, and that the infection
propagates to a failure, which is an externally
observable error
• Classification of bug types can also be useful (Bohrbug,
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Mandelbug, Heisenbug, Schr¨dinbug, Phase of the
o
Moon bug, Statistical bug, Noob bug (or Noobug))
• The use of the debug tools and options are refreshed,
introduced and applied
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
22
73. Status in Teaching
Debugging
Debugging Concepts
Klaus Kolle
(klausk@iha.dk)
Introducton
• To establish the vocabulary I first introduce how a
defect infects the code, and that the infection
propagates to a failure, which is an externally
observable error
• Classification of bug types can also be useful (Bohrbug,
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Mandelbug, Heisenbug, Schr¨dinbug, Phase of the
o
Moon bug, Statistical bug, Noob bug (or Noobug))
• The use of the debug tools and options are refreshed,
introduced and applied
• Having set the scene, we can continue to ...
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
22
74. Status in Teaching
Debugging
Unsystematic Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• ”Un-systematic debugging is characterised by setting
breakpoints, watches, etc. on suspected places in the
code and then run the program until the breakpoint is
reached. Hereafter variables can be inspected.”
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Debugging in the
Study
First Year
Second Year
Third Year
Summary
23
75. Status in Teaching
Debugging
Unsystematic Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• ”Un-systematic debugging is characterised by setting
breakpoints, watches, etc. on suspected places in the
code and then run the program until the breakpoint is
reached. Hereafter variables can be inspected.”
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• If the developer does not know where to break but just
merely the choice on guesses, it is unsystematic however it occurs very often, I can observe
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
23
76. Status in Teaching
Debugging
Systematic Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
Here are seven steps in systematic debugging:
T: Track the problem in a database
R: Reproduce the failure
A: Automate and simplify the test case
F: Find possible infection regions
F: Focus on the most likely origins
I: Isolate the infection chain
C: Correct the defect
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
24
77. Systematic Debugging in Teaching
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• For Systematic Debugging it can be a little hard to
establish an environment and create a realistic situation
within the relatively short time allocated for each
subtopic ...
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Debugging in the
Study
First Year
Second Year
Third Year
Summary
25
78. Systematic Debugging in Teaching
Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
• For Systematic Debugging it can be a little hard to
establish an environment and create a realistic situation
within the relatively short time allocated for each
subtopic ...
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• But, now - next year - when I have more time, I’ll give
it a try
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
25
79. Status in Teaching
Debugging
Scientific Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
26
80. Status in Teaching
Debugging
Reasoning - explained
Klaus Kolle
(klausk@iha.dk)
• Deduction (0 runs)
• Concluding from abstract to concrete
• ”I do not have to measure if the sum of angles in a
triangle is 180 degrees. I deduce it from a
mathematical theory.”
• Observation (1 run)
• Observe a phenomenon once
• Induction (n runs)
• Collecting many concrete observation to form abstract
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• ”I have met 15 stupid men, thus all men are stupid...”
• Experimentation (n controlled runs)
• Induction, but controlled by scientific method
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
27
81. Status in Teaching
Debugging
Steps in Scientific Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
28
82. Status in Teaching
Debugging
An Example
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
29
83. Status in Teaching
Debugging
Remote Debugging
• This activity is mainly about how we can establish a
development and debug environment where we can
debug the code, while it executes on the target, but
uses a debugger situated more conveniently on the
development host
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
30
84. Status in Teaching
Debugging
Remote Debugging
• This activity is mainly about how we can establish a
development and debug environment where we can
debug the code, while it executes on the target, but
uses a debugger situated more conveniently on the
development host
• So for the students, it is a matter of understanding the
production of executable code and what the debugger
needs in order to work separated from the executing
code
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
30
85. Status in Teaching
Debugging
Remote Debugging
• This activity is mainly about how we can establish a
development and debug environment where we can
debug the code, while it executes on the target, but
uses a debugger situated more conveniently on the
development host
• So for the students, it is a matter of understanding the
production of executable code and what the debugger
needs in order to work separated from the executing
code
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• I typically establish a situation where we produces code
for our Linux running on an Embedded Artists LPC
2478 (ARM 7) board, while our debugging environment
is situated on the virtual Centos Linux development
host, I have provided for the students
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
30
86. Status in Teaching
Debugging
Remote Debugging
• This activity is mainly about how we can establish a
development and debug environment where we can
debug the code, while it executes on the target, but
uses a debugger situated more conveniently on the
development host
• So for the students, it is a matter of understanding the
production of executable code and what the debugger
needs in order to work separated from the executing
code
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• I typically establish a situation where we produces code
for our Linux running on an Embedded Artists LPC
2478 (ARM 7) board, while our debugging environment
is situated on the virtual Centos Linux development
host, I have provided for the students
• We use a gdb-server on the target
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
30
87. Status in Teaching
Debugging
Remote Debugging
• This activity is mainly about how we can establish a
development and debug environment where we can
debug the code, while it executes on the target, but
uses a debugger situated more conveniently on the
development host
• So for the students, it is a matter of understanding the
production of executable code and what the debugger
needs in order to work separated from the executing
code
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• I typically establish a situation where we produces code
for our Linux running on an Embedded Artists LPC
2478 (ARM 7) board, while our debugging environment
is situated on the virtual Centos Linux development
host, I have provided for the students
• We use a gdb-server on the target
• We use gdb/ddd or Eclipse on the development host
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
30
88. Status in Teaching
Debugging
Presentation Outline
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
1 Introducton
Debugging in the
Study
EDE Background
Profile of the EDE engineer
First Year
Second Year
Third Year
Summary
2 Debugging in the Study
First Year
Second Year
Third Year
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
31
89. Status in Teaching
Debugging
Application
Klaus Kolle
(klausk@iha.dk)
• In the elective courses the students mainly apply their
gained knowledge in order to learn and understand new
theory
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
32
90. Status in Teaching
Debugging
Application
Klaus Kolle
(klausk@iha.dk)
• In the elective courses the students mainly apply their
gained knowledge in order to learn and understand new
theory
• My colleague Anders introduces Fuzzy Testing as part
of his Advanced Software Design courses (Fuzzy Testing
is the art of bombarding the test object with a massive
amount of random data in order to provoke errors)
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
32
91. Status in Teaching
Debugging
Application
Klaus Kolle
(klausk@iha.dk)
• In the elective courses the students mainly apply their
gained knowledge in order to learn and understand new
theory
• My colleague Anders introduces Fuzzy Testing as part
of his Advanced Software Design courses (Fuzzy Testing
is the art of bombarding the test object with a massive
amount of random data in order to provoke errors)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
• If new languages and development environments are
introduced it is expected that the students are able to
develop and debug the programs they are recommended
to construct as part of the learning
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
32
92. Status in Teaching
Debugging
Summary
Klaus Kolle
(klausk@iha.dk)
Introducton
• It is our opinion that we do give our students a rather
good foundation to enter the job market
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
33
93. Status in Teaching
Debugging
Summary
Klaus Kolle
(klausk@iha.dk)
Introducton
• It is our opinion that we do give our students a rather
good foundation to enter the job market
• Because of our limited time, we may unfortunately not
be able to deal with the tops in depth
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
33
94. Status in Teaching
Debugging
Summary
Klaus Kolle
(klausk@iha.dk)
Introducton
• It is our opinion that we do give our students a rather
good foundation to enter the job market
• Because of our limited time, we may unfortunately not
be able to deal with the tops in depth
• But no one is perfect, so always welcome inputs that
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
can change and improve our teaching
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
33
95. Status in Teaching
Debugging
Summary
Klaus Kolle
(klausk@iha.dk)
Introducton
• It is our opinion that we do give our students a rather
good foundation to enter the job market
• Because of our limited time, we may unfortunately not
be able to deal with the tops in depth
• But no one is perfect, so always welcome inputs that
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
can change and improve our teaching
• I look forward to listening to the other presentations
today and maybe be inspired to add even more topic to
my courses
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
33
96. Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
Any Questions?
First Year
Second Year
Third Year
Summary
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
34
97. Status in Teaching
Debugging
Klaus Kolle
(klausk@iha.dk)
Introducton
EDE Background
Profile of the EDE
engineer
Debugging in the
Study
First Year
Second Year
Third Year
Summary
Thank you for your attention
Status in Teaching Debugging
Klaus Kolle (klausk@iha.dk)
35