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.
Lesson 1: How Debuggers workTheory: 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 ExpectationsTheory: Assertions in testing and in debugging. Fun fact: The most expensive bug in history. Practice: Improving the tracer.
Lesson 3: Simplifying FailuresTheory: Strategy of simplifying failures. Binary search. Delta debugging principle. Fun fact: Mozilla bugathon. Practice: Building a delta debugger.
Lesson 4: Tracking OriginsTheory: Cause-effect chain. Deduction. Dependencies. Slices. Fun fact: Sherlock Holmes and Doctor Watson. Practice: Improving the delta debugger.
Lesson 5: Reproducing FailuresTheory: 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 MistakesTheory: 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.