What do you want to learn today?

Software Debugging | Automating the Boring Tasks

Online Free Online Course by  Udacity
Online / Free Online Course

Details

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.

Why Take This Course?

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.

Prerequisites and Requirements

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

See the Technology Requirements for using Udacity.


Outline

What Will I Learn?
Projects

Put all the things you learned in this course together and finish a complete debugger that you can use on other projects

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

Reviews
Be the first to write a review about this event.
Write a Review

Our mission is to bring accessible, affordable, engaging, and highly effective higher education to the world. We believe that higher education is a basic human right, and we seek to empower our students to advance their education and careers.

Education is no longer a one-time event but a lifelong experience. Education should be less passive listening (no long lectures) and more active doing. Education should empower students to succeed not just in school but in life.

Sending Message
Please wait...
× × Speedycourse.com uses cookies to deliver our services. By continuing to use the site, you are agreeing to our use of cookies, Privacy Policy, and our Terms & Conditions.