<p>Don't jump to conclusions. It's easy to assume that the
problem is in the most complex part of the system. Or even
worse: blaming the manifacturer of the components for faulty
or misbehaving components. But it's often in the simplest
part of the system. Maybe it's a mistake you made. You actually
designed, milled, stuffed and programmed the circuit. </p>
<p>Time pressure can be a factor in jumping to fast conclusions.
But it's better to stay calm and think of a step by step
approach.</p>
</aside>
</section>
<section>
<videoclass="r-frame"style="height: 620px; margin: 0 auto 4rem auto; background: transparent;"data-src="./img/Debugging_strategy.mp4"controls></video>
<asideclass="notes"> Fixing a bug that is not, leads to a
new bug, that is not a bug. And you don't want to end up in
a situation where you trashed the whole project because of a
"bug" that wasn't a bug from the beginning. </aside>
</section>
<section>
<h2>Write down what you do</h2>
</section>
<section>
<p><imgclass="r-frame"style="height: 340px; margin: 0 auto 4rem auto; background: transparent;"data-src="./img/memory.jpg"></p>
<asideclass="notes">Debugging is difficult, and it's easy to forget what you've done. Writing down what you've done can help you remember what you've tried and what you haven't tried.
It often also helps you to write down what you think the problem is. This can help you to think more clearly about the problem and the solution.
And last but not least: Often you break something while trying to fix something else. Writing down what you did can help you to undo what you did.
In software engineering, rubber duck debugging (or rubberducking) is a method of debugging code by articulating a problem in spoken or written natural language.
Carry around a rubber duck and debug what you did by forcing yourself to explain what you did, step by step, to the duck. You can also use a instructor, fabacademy
student or friend, but the duck won't judge you.
</note>
In software engineering, rubber duck debugging (or
rubberducking) is a method of debugging code by articulating
a problem in spoken or written natural language. Carry
around a rubber duck and debug what you did by forcing
yourself to explain what you did, step by step, to the duck.
You can also use your instructor, fabacademy
student or friend. Advantage of the duck is that it won't judge you.
</aside>
</section>
</section>
<sectiondata-visibility="hidden">
<h2>Hidden Slides</h2>
<p>
This slide is visible in the source, but hidden when the presentation is viewed. You can show all hidden slides by setting the `showHiddenSlides` config option to `true`.
</p>
</section>
<section>
<section>
<imgclass="r-frame"style="margin: 0 auto 4rem auto; background: transparent;"data-src="./img/dontpanic.jpg">
</section>
<section>
<videoclass="r-frame"style="height: 620px; margin: 0 auto 4rem auto; background: transparent;"data-src="./img/Debugging_strategy.mp4"controls></video>
</section>
<section>
<h2>Narrowing down the problem</h2>
</section>
<sectiondata-auto-animate>
<section>
<h2>Narrowing down the problem</h2>
</section>
<sectiondata-auto-animate>
<ul>
<li>Reproduce the problem</li>
</ul>
</section>
<sectiondata-auto-animate>
<ul>
<li>Reproduce the problem</li>
<li>Always first do visual check</li>
</ul>
</section>
<sectiondata-auto-animate>
<ul>
<li>Reproduce the problem</li>
</ul>
<li>Always first do visual check</li>
<ol>traces</ol>
<ol>soldering</ol>
<ol>components</ol></li>
</ul>
</section>
<sectiondata-auto-animate>
<ul>
<li>Reproduce the problem</li>
<li>Always first do visual check</li>
</ul>
</section>
<sectiondata-auto-animate>
<ul>
<li>Reproduce the problem</li>
<li>Always first do visual check</li>
<ol>traces</ol>
<ol>soldering</ol>
<ol>components</ol></li>
</ul>
</section>
<sectiondata-auto-animate>
<ul>
<li>Reproduce the problem</li>
...
...
@@ -156,16 +180,19 @@
<ol>soldering</ol>
<ol>components</ol></li>
<li>Keep in mind that the problem might not be visible without a microscope</li>