Software Debugging: E-learning from Udacity
This course guides users through the basic requirements and understanding necessary in systematic debugging. Participants will learn how to systematically debug programs, automate processes and build debugging tools in Python.
As part of course materials participants will develop a complete debugger that will be immediately usefull within their existing projects.
Upcoming start dates
Free E-Learning: Start Anytime!
- Self-paced Online
Who should attend?
This Software Debugging course is intended for professionals hoping for a better understanding of systematic debugging.
Learners should have a basic understanding of programming and Python. Basic knowledge of object-oriented programming would also be helpful.
Find out if this course is right for you - request more information here!
This Developing Scalable Apps with Java takes learners through:
Put all the things you learned in this course together and finish a complete debugger that you can use on other projects
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.
- Theory: Assertions in testing and in debugging.
- Fun fact: The most expensive bug in history.
- Practice: Improving the tracer.
- Theory: Strategy of simplifying failures. Binary search. Delta debugging principle.
- Fun fact: Mozilla bugathon.
- Practice: Building a delta debugger.
- Theory: Cause-effect chain. Deduction. Dependencies. Slices.
- Fun fact: Sherlock Holmes and Doctor Watson.
- Practice: Improving the delta debugger.
- Theory: Types of bugs (Bohr bug, Heisenbug, Mandelbug, Schrodinbug). Systematic reproduction process.
- Fun fact: Mad laptop bug.
- Practice: Building a statistic debugging tool.
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.
This Software Debugging course is Free of charge.
Estimated time for completion assuming 6 hours per week: Approx. 2 months