Software Debugging

Level
Logo Udacity

Need more information? Get more details on the site of the provider.

Starting dates and places

There are no known starting dates for this product.

Description

Automating the Boring Tasks

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

Class Summary

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.

What Should I Know?

Basic knowledge of programming and Python at the level of Udacity CS101 or better is required. Basic understanding of Object-oriented programming is helpful.

What Will I Learn?

At the end of this course you will have a solid understanding about systematic debugging, will know how to automate debugging and will have built several function…

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. Send an Email to info@springest.com

Didn't find what you were looking for? See also: Software testing, Python, Computer Science, Programming, and Hour of Code.

Automating the Boring Tasks

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

Class Summary

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.

What Should I Know?

Basic knowledge of programming and Python at the level of Udacity CS101 or better is required. Basic understanding of Object-oriented programming is helpful.

What Will I Learn?

At the end of this course you will have a solid understanding about systematic debugging, will know how to automate debugging and will have built several functional debugging tools in Python.

Syllabus

Unit 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.

Unit 2: Asserting Expectations

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

Unit 3: Simplifying Failures

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

Unit 4: Tracking Origins

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

Unit 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.

Unit 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.

Course Instructors

Andreas Zeller Instructor

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.

Gundega Dekena Assistant Instructor

Once upon a time Gundega was a Udacity student. Now, for her activities outside of her direct duties, she has earned the unofficial title "Queen of Captions" and was granted the Keys to the Forums. She also keeps a close eye on the wiki, and all things student community related.

There are no reviews yet.

Share your review

Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.

There are no frequently asked questions yet. Send an Email to info@springest.com