list 8 sequences
assignment Level : Introductive
chat_bubble_outline Language : English
card_giftcard 1 point
Logo My Mooc Business

Top companies choose Edflex to build in-demand career skills.

Get started
Users' reviews

Key Information

credit_card Free access

About the content

In this class you will learn how to debug programs systematically, how to automate the debugging process and build several automated debugging tools in Python.

more_horiz Read more
more_horiz Read less


Lesson 1: How Debuggers work

Theory: Scientific method and its application to debugging. Fun fact: First bug in the history of computer science. Practice: Building a simple tracer.

Lesson 2: Asserting Expectations

Theory: Assertions in testing and in debugging. Fun fact: The most expensive bug in history. Practice: Improving the tracer.

Lesson 3: Simplifying Failures

Theory: Strategy of simplifying failures. Binary search. Delta debugging principle. Fun fact: Mozilla bugathon. Practice: Building a delta debugger.

Lesson 4: Tracking Origins

Theory: Cause-effect chain. Deduction. Dependencies. Slices. Fun fact: Sherlock Holmes and Doctor Watson. Practice: Improving the delta debugger.

Lesson 5: Reproducing Failures

Theory: Types of bugs (Bohr bug, Heisenbug, Mandelbug, Schrodinbug). Systematic reproduction process. Fun fact: Mad laptop bug. Practice: Building a statistic debugging tool.

Lesson 6: Learning from Mistakes

Theory: Bug database management. Classifying bugs. Bug maps. Learning from mistakes. Fun fact: Programmer with the most buggy code. Practice: Improving your tools and practicing on a real world bug database.


  • Andreas Zeller - Andreas Zeller is a computer science professor at Saarland University, Germany. His research centers on programmer productivity: What can be done to ease the life and work of programmers? Among Linux and Unix programmers, he is best known for GNU DDD, a debugger front-end with built-in data visualization. Among academics and advanced professionals, Zeller is best known for Delta Debugging, a technique that automatically isolates failure causes for computer programs.



Udacity is a for-profit educational organization founded by Sebastian Thrun, David Stavens, and Mike Sokolsky offering massive open online courses (MOOCs). According to Thrun, the origin of the name Udacity comes from the company's desire to be "audacious for you, the student". While it originally focused on offering university-style courses, it now focuses more on vocational courses for professionals.

You are the designer of this MOOC?
What is your opinion on this resource ?