SlideShare a Scribd company logo
1 of 97
Download to read offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

More Related Content

Viewers also liked

Peak Consulting Group: Ledelse af komplekse projekter hos Banedanmark
Peak Consulting Group: Ledelse af komplekse projekter hos BanedanmarkPeak Consulting Group: Ledelse af komplekse projekter hos Banedanmark
Peak Consulting Group: Ledelse af komplekse projekter hos BanedanmarkMediehuset Ingeniøren Live
 
Devoteam: Hvad er praksis og hvad gør de bedste bedst
Devoteam: Hvad er praksis og hvad gør de bedste bedstDevoteam: Hvad er praksis og hvad gør de bedste bedst
Devoteam: Hvad er praksis og hvad gør de bedste bedstMediehuset Ingeniøren Live
 
Successiv implementering - Lars Møller, Rambøll
Successiv implementering - Lars Møller, Rambøll Successiv implementering - Lars Møller, Rambøll
Successiv implementering - Lars Møller, Rambøll Mediehuset Ingeniøren Live
 
Projectplace: Hvorfor er Kanban-tavler så populær blandt projektledere?
Projectplace: Hvorfor er Kanban-tavler så populær blandt projektledere?Projectplace: Hvorfor er Kanban-tavler så populær blandt projektledere?
Projectplace: Hvorfor er Kanban-tavler så populær blandt projektledere?Mediehuset Ingeniøren Live
 
Dansk projektledelse: Kompetencevurdering af projektledere
Dansk projektledelse:  Kompetencevurdering af projektledereDansk projektledelse:  Kompetencevurdering af projektledere
Dansk projektledelse: Kompetencevurdering af projektledereMediehuset Ingeniøren Live
 
’Den fællesstatslige it-projektmodel’ som inspiration - Jan Juul Lorenzen, DA...
’Den fællesstatslige it-projektmodel’ som inspiration - Jan Juul Lorenzen, DA...’Den fællesstatslige it-projektmodel’ som inspiration - Jan Juul Lorenzen, DA...
’Den fællesstatslige it-projektmodel’ som inspiration - Jan Juul Lorenzen, DA...Mediehuset Ingeniøren Live
 
Itera: Fremtidens projekt- og procesværktøjer er her nu
Itera:  Fremtidens projekt- og procesværktøjer er her nuItera:  Fremtidens projekt- og procesværktøjer er her nu
Itera: Fremtidens projekt- og procesværktøjer er her nuMediehuset Ingeniøren Live
 
Højvandsmøbel og Havnepladsen i Lemvig. Cathrine Leth & Dan B. Hasløv
Højvandsmøbel og Havnepladsen i Lemvig. Cathrine Leth & Dan B. HasløvHøjvandsmøbel og Havnepladsen i Lemvig. Cathrine Leth & Dan B. Hasløv
Højvandsmøbel og Havnepladsen i Lemvig. Cathrine Leth & Dan B. HasløvMediehuset Ingeniøren Live
 

Viewers also liked (15)

Peak Consulting Group: Ledelse af komplekse projekter hos Banedanmark
Peak Consulting Group: Ledelse af komplekse projekter hos BanedanmarkPeak Consulting Group: Ledelse af komplekse projekter hos Banedanmark
Peak Consulting Group: Ledelse af komplekse projekter hos Banedanmark
 
Devoteam: Hvad er praksis og hvad gør de bedste bedst
Devoteam: Hvad er praksis og hvad gør de bedste bedstDevoteam: Hvad er praksis og hvad gør de bedste bedst
Devoteam: Hvad er praksis og hvad gør de bedste bedst
 
Successiv implementering - Lars Møller, Rambøll
Successiv implementering - Lars Møller, Rambøll Successiv implementering - Lars Møller, Rambøll
Successiv implementering - Lars Møller, Rambøll
 
Projectplace: Hvorfor er Kanban-tavler så populær blandt projektledere?
Projectplace: Hvorfor er Kanban-tavler så populær blandt projektledere?Projectplace: Hvorfor er Kanban-tavler så populær blandt projektledere?
Projectplace: Hvorfor er Kanban-tavler så populær blandt projektledere?
 
Datacenter 2014: Veeam software - Preben Berg
Datacenter 2014: Veeam software - Preben BergDatacenter 2014: Veeam software - Preben Berg
Datacenter 2014: Veeam software - Preben Berg
 
Dansk projektledelse: Kompetencevurdering af projektledere
Dansk projektledelse:  Kompetencevurdering af projektledereDansk projektledelse:  Kompetencevurdering af projektledere
Dansk projektledelse: Kompetencevurdering af projektledere
 
’Den fællesstatslige it-projektmodel’ som inspiration - Jan Juul Lorenzen, DA...
’Den fællesstatslige it-projektmodel’ som inspiration - Jan Juul Lorenzen, DA...’Den fællesstatslige it-projektmodel’ som inspiration - Jan Juul Lorenzen, DA...
’Den fællesstatslige it-projektmodel’ som inspiration - Jan Juul Lorenzen, DA...
 
Debugging 2013- Thomas Ammitzboell-Bach
Debugging 2013- Thomas Ammitzboell-BachDebugging 2013- Thomas Ammitzboell-Bach
Debugging 2013- Thomas Ammitzboell-Bach
 
Itera: Fremtidens projekt- og procesværktøjer er her nu
Itera:  Fremtidens projekt- og procesværktøjer er her nuItera:  Fremtidens projekt- og procesværktøjer er her nu
Itera: Fremtidens projekt- og procesværktøjer er her nu
 
Debugging 2013- Poul henning-kamp
Debugging 2013- Poul henning-kampDebugging 2013- Poul henning-kamp
Debugging 2013- Poul henning-kamp
 
Power to the People. Johanne Mose Entwistle
Power to the People. Johanne Mose EntwistlePower to the People. Johanne Mose Entwistle
Power to the People. Johanne Mose Entwistle
 
Højvandsmøbel og Havnepladsen i Lemvig. Cathrine Leth & Dan B. Hasløv
Højvandsmøbel og Havnepladsen i Lemvig. Cathrine Leth & Dan B. HasløvHøjvandsmøbel og Havnepladsen i Lemvig. Cathrine Leth & Dan B. Hasløv
Højvandsmøbel og Havnepladsen i Lemvig. Cathrine Leth & Dan B. Hasløv
 
From Developer to Inhouse Hacker
From Developer to Inhouse HackerFrom Developer to Inhouse Hacker
From Developer to Inhouse Hacker
 
Rådgivning i forandring
Rådgivning i forandringRådgivning i forandring
Rådgivning i forandring
 
Banking 2.0
Banking 2.0Banking 2.0
Banking 2.0
 

Similar to Teaching Debugging Techniques

The Ins and Outs of Project Lead the Way
The Ins and Outs of Project Lead the WayThe Ins and Outs of Project Lead the Way
The Ins and Outs of Project Lead the WayNAFCareerAcads
 
1st Year Design at the U of C
1st Year Design at the U of C1st Year Design at the U of C
1st Year Design at the U of CRobert Brennan
 
Ey4106 unit1 week2
Ey4106 unit1 week2Ey4106 unit1 week2
Ey4106 unit1 week2JOE LYSTER
 
The Start Up Experience for Engineers
The Start Up Experience for EngineersThe Start Up Experience for Engineers
The Start Up Experience for EngineersAlonEisenstein
 
b6faf705-9838-4e48-aeec-ed3ac8904748.ppt
b6faf705-9838-4e48-aeec-ed3ac8904748.pptb6faf705-9838-4e48-aeec-ed3ac8904748.ppt
b6faf705-9838-4e48-aeec-ed3ac8904748.ppttrussel
 
Topology Optimization as a technique in multidisciplinary student projects
Topology Optimization as a technique in multidisciplinary student projectsTopology Optimization as a technique in multidisciplinary student projects
Topology Optimization as a technique in multidisciplinary student projectsAltair
 
10-10-05_01 Paul Camick
10-10-05_01 Paul Camick10-10-05_01 Paul Camick
10-10-05_01 Paul CamickDarrell Caron
 
Educational Science and Technology
Educational Science and TechnologyEducational Science and Technology
Educational Science and TechnologyUniversiteit Twente
 
Presentation for cue copy
Presentation for cue copyPresentation for cue copy
Presentation for cue copyMike Sharpe
 
Tilahun Strategic plan power point k..pptx
Tilahun Strategic plan power point k..pptxTilahun Strategic plan power point k..pptx
Tilahun Strategic plan power point k..pptxGetahunShankoKefeni
 
Applicant Day Course Talk - Electronic and Computer Engineering 2013
Applicant Day Course Talk - Electronic and Computer Engineering 2013Applicant Day Course Talk - Electronic and Computer Engineering 2013
Applicant Day Course Talk - Electronic and Computer Engineering 2013Brunel University
 
Ey4106 unit4 week5
Ey4106 unit4 week5Ey4106 unit4 week5
Ey4106 unit4 week5JOE LYSTER
 
0. Course Introduction
0. Course Introduction0. Course Introduction
0. Course IntroductionIntro C# Book
 
Ey4106 wt5912 week12
Ey4106 wt5912 week12Ey4106 wt5912 week12
Ey4106 wt5912 week12JOE LYSTER
 
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfCS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfTitoMido1
 
Developing an ITE framework for D&T (TERC 2012)
Developing an ITE framework for D&T (TERC 2012)Developing an ITE framework for D&T (TERC 2012)
Developing an ITE framework for D&T (TERC 2012)Alison Hardy
 
Webinar Wednesday Counseling the Engineering Bound Student
Webinar Wednesday Counseling the Engineering Bound StudentWebinar Wednesday Counseling the Engineering Bound Student
Webinar Wednesday Counseling the Engineering Bound StudentOACACcom
 

Similar to Teaching Debugging Techniques (20)

The Ins and Outs of Project Lead the Way
The Ins and Outs of Project Lead the WayThe Ins and Outs of Project Lead the Way
The Ins and Outs of Project Lead the Way
 
Syllabus 2015
Syllabus 2015Syllabus 2015
Syllabus 2015
 
1st Year Design at the U of C
1st Year Design at the U of C1st Year Design at the U of C
1st Year Design at the U of C
 
Ey4106 unit1 week2
Ey4106 unit1 week2Ey4106 unit1 week2
Ey4106 unit1 week2
 
The Start Up Experience for Engineers
The Start Up Experience for EngineersThe Start Up Experience for Engineers
The Start Up Experience for Engineers
 
b6faf705-9838-4e48-aeec-ed3ac8904748.ppt
b6faf705-9838-4e48-aeec-ed3ac8904748.pptb6faf705-9838-4e48-aeec-ed3ac8904748.ppt
b6faf705-9838-4e48-aeec-ed3ac8904748.ppt
 
Topology Optimization as a technique in multidisciplinary student projects
Topology Optimization as a technique in multidisciplinary student projectsTopology Optimization as a technique in multidisciplinary student projects
Topology Optimization as a technique in multidisciplinary student projects
 
Aldert Kamp, TU Delft
Aldert Kamp, TU Delft Aldert Kamp, TU Delft
Aldert Kamp, TU Delft
 
10-10-05_01 Paul Camick
10-10-05_01 Paul Camick10-10-05_01 Paul Camick
10-10-05_01 Paul Camick
 
OBE_overview.pptx
OBE_overview.pptxOBE_overview.pptx
OBE_overview.pptx
 
Educational Science and Technology
Educational Science and TechnologyEducational Science and Technology
Educational Science and Technology
 
Presentation for cue copy
Presentation for cue copyPresentation for cue copy
Presentation for cue copy
 
Tilahun Strategic plan power point k..pptx
Tilahun Strategic plan power point k..pptxTilahun Strategic plan power point k..pptx
Tilahun Strategic plan power point k..pptx
 
Applicant Day Course Talk - Electronic and Computer Engineering 2013
Applicant Day Course Talk - Electronic and Computer Engineering 2013Applicant Day Course Talk - Electronic and Computer Engineering 2013
Applicant Day Course Talk - Electronic and Computer Engineering 2013
 
Ey4106 unit4 week5
Ey4106 unit4 week5Ey4106 unit4 week5
Ey4106 unit4 week5
 
0. Course Introduction
0. Course Introduction0. Course Introduction
0. Course Introduction
 
Ey4106 wt5912 week12
Ey4106 wt5912 week12Ey4106 wt5912 week12
Ey4106 wt5912 week12
 
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdfCS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
CS251 Intro. to SE [Lec. 0 - Course Introduction & Plan] Spring 2022.pdf
 
Developing an ITE framework for D&T (TERC 2012)
Developing an ITE framework for D&T (TERC 2012)Developing an ITE framework for D&T (TERC 2012)
Developing an ITE framework for D&T (TERC 2012)
 
Webinar Wednesday Counseling the Engineering Bound Student
Webinar Wednesday Counseling the Engineering Bound StudentWebinar Wednesday Counseling the Engineering Bound Student
Webinar Wednesday Counseling the Engineering Bound Student
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Teaching Debugging Techniques

  • 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