[course_title] course teaches you the process of debugging software systematically. Firstly, the course focuses on how debugging works along with the concepts of assertions in testing and in debugging. You will explore the most expensive bug in history.
Throughout the course, you will learn to automate the debugging process and know how to build several automated debugging tools in Python. The course teaches you to create several functional debugging tools in Python.
Upon completion, you will gain excellent command over systematic debugging and able to know how to automate debugging.
Assessment
This course does not involve any written exams. Students need to answer 5 assignment questions to complete the course, the answers will be in the form of written work in pdf or word. Students can write the answers in their own time. Each answer needs to be 200 words (1 Page). Once the answers are submitted, the tutor will check and assess the work.
Certification
Edukite courses are free to study. To successfully complete a course you must submit all the assignment of the course as part of the assessment. Upon successful completion of a course, you can choose to make your achievement formal by obtaining your Certificate at a cost of £49.
Having an Official Edukite Certification is a great way to celebrate and share your success. You can:
- Add the certificate to your CV or resume and brighten up your career
- Show it to prove your success
Course Credit: Saarland University
Course Curriculum
Introduction | |||
Overview of Course | 00:04:00 | ||
Late Night Debugging | 00:02:00 | ||
Choices | 00:01:00 | ||
Cost of Bugs | 00:01:00 | ||
The First Bug in History | 00:01:00 | ||
How Debuggers Work | |||
Introduction | 00:01:00 | ||
Example Program | 00:02:00 | ||
Example Code | 00:01:00 | ||
Is It Perfect? | 00:01:00 | ||
Is It Perfect? Solution | 00:01:00 | ||
A First Bug | 00:01:00 | ||
First Bugfix | 00:01:00 | ||
A Second Bug | 00:01:00 | ||
A Second Bug Solution | 00:01:00 | ||
Print Everything | 00:02:00 | ||
Security Nightmare | 00:01:00 | ||
Do Not Debug Like That | 00:02:00 | ||
The Devil’s Guide to Debugging | 00:01:00 | ||
Most Obvious Fix | 00:01:00 | ||
Before Fix | 00:01:00 | ||
Before Fix Solution | 00:01:00 | ||
Defect vs. Bug | 00:02:00 | ||
How Failures Come to Be | 00:04:00 | ||
Infections and Failures | 00:01:00 | ||
Infections and Failures | 00:02:00 | ||
Isaac Newton and Apples | 00:03:00 | ||
The Scientific Method | 00:02:00 | ||
What Is a Theory? | 00:01:00 | ||
What Is a Theory? Solution | 00:02:00 | ||
Bugs as Natural Phenomena | 00:01:00 | ||
Apply the Scientific Method | 00:01:00 | ||
Apply the Scientific Method Solution | 00:01:00 | ||
Hypothesis I | 00:02:00 | ||
Hello Assert | 00:01:00 | ||
Hello Assert Solution | 00:01:00 | ||
Hypothesis II | 00:01:00 | ||
Hypothesis II | 00:01:00 | ||
Another Hint | 00:02:00 | ||
Fixing the Bug | 00:02:00 | ||
Fixing the Bug Solution | 00:02:00 | ||
What Did We Do? | 00:01:00 | ||
Alternate Hypotheses | 00:01:00 | ||
After the Fix | 00:01:00 | ||
Which Assertion? | 00:01:00 | ||
Which Assertion? Solution | 00:01:00 | ||
Just Fix It | 00:01:00 | ||
Explicit Debugging | 00:03:00 | ||
Talk to Somebody | 00:02:00 | ||
Helpful Teddy Bear | 00:01:00 | ||
Remove the Blindfold | 00:02:00 | ||
Review | 00:01:00 | ||
Review | 00:01:00 | ||
Problem Set 1 | |||
Build My-spyder | 00:02:00 | ||
Inside the Debugger | 00:02:00 | ||
What Will Happen? | 00:01:00 | ||
What Will Happen? Solution | 00:01:00 | ||
Control My-spyder | 00:02:00 | ||
Improve My-spyder | 00:02:00 | ||
Assertions | |||
Assert = Power-Up | 00:02:00 | ||
Built-In Assertions | 00:02:00 | ||
Assertions in Python | 00:01:00 | ||
Assertions in Python | 00:01:00 | ||
Pre- and Post-Conditions | 00:03:00 | ||
The Blame Game | 00:01:00 | ||
The Blame Game Solution | 00:01:00 | ||
Testing Square Root | 00:02:00 | ||
Testing Square Root Solution | 00:01:00 | ||
Understanding the Error | 00:02:00 | ||
Introducing Precision | 00:01:00 | ||
Introducing Precision Solution | 00:01:00 | ||
Assert Tag | 00:01:00 | ||
Assert Tag Solution | 00:01:00 | ||
Refining Assertions | 00:03:00 | ||
Hard to Define | 00:01:00 | ||
Hard to Define Solution | 00:02:00 | ||
Data Invariants | 00:03:00 | ||
Incorrect Input | 00:01:00 | ||
Incorrect Input Solution | 00:01:00 | ||
Beware the Time Bomb | 00:03:00 | ||
The Exact Time | 00:01:00 | ||
The Exact Time Solution | 00:01:00 | ||
Introducing Checkrep | 00:03:00 | ||
Implement Checkrep | 00:01:00 | ||
Implement Checkrep Solution | 00:01:00 | ||
Red-Black Trees | 00:03:00 | ||
R-B Trees and Debugging | 00:03:00 | ||
Invariants in Eiffel | 00:01:00 | ||
Invariants in Eiffel Solution | 00:01:00 | ||
Assertions Are Optional | 00:02:00 | ||
Public Preconditions | 00:01:00 | ||
Pros and Cons in Production | 00:02:00 | ||
Most Expensive Bug in History | 00:01:00 | ||
Traffic Lights | 00:01:00 | ||
Traffic Lights Solution | 00:02:00 | ||
System Invariants | 00:02:00 | ||
System Memory in C | 00:03:00 | ||
Buffer Overflows | 00:02:00 | ||
Day of Week Bug | 00:01:00 | ||
Day of Week Bug Solution | 00:01:00 | ||
First Steps | 00:02:00 | ||
First Steps Solution | 00:21:00 | ||
Inferring Invariants | 00:02:00 | ||
Automated Inferring | 00:03:00 | ||
Automated Inferring Solution | 00:01:00 | ||
Problem Set 2 | |||
Bonsaikon | 00:01:00 | ||
Optional Improvements | 00:01:00 | ||
Simplifying Failures | |||
Simplifying Failures | 00:02:00 | ||
Bug Report | 00:01:00 | ||
Mozilla Bugathon | 00:01:00 | ||
Mozilla Bugathon Solution | 00:01:00 | ||
Motivation Is Important | 00:01:00 | ||
Simplifying Further | 00:01:00 | ||
Simplifying Further Solution | 00:01:00 | ||
Simple Is Better | 00:02:00 | ||
What Is Relevant | 00:02:00 | ||
What Is Relevant Solution | 00:01:00 | ||
The Tao of Simplifying | 00:02:00 | ||
The Tao of Simplifying Solution | 00:01:00 | ||
Importance of Simplifying | 00:01:00 | ||
Importance of Simplifying Solution | 00:01:00 | ||
Automated Simplification | 00:02:00 | ||
Fake Mozilla | 00:02:00 | ||
Implementing the Strategy | 00:02:00 | ||
Implementing the Strategy Solution | 00:01:00 | ||
Simplifier in Action | 00:02:00 | ||
Simplifier in Action Solution | 00:01:00 | ||
Delta Debugging | 00:02:00 | ||
Next Step | 00:03:00 | ||
Next Step Solution | 00:01:00 | ||
Number of Tests | 00:02:00 | ||
Number of Tests Solution | 00:02:00 | ||
Finish the Debugger | 00:03:00 | ||
Finish the Debugger Solution | 00:01:00 | ||
How Many Calls? | 00:01:00 | ||
How Many Calls? Solution | 00:01:00 | ||
Generic | 00:02:00 | ||
Generic Solution | 00:01:00 | ||
Fuzz Inputs | 00:02:00 | ||
Mystery Test | 00:01:00 | ||
Mystery Test Solution | 00:02:00 | ||
Yesterday It Worked | 00:02:00 | ||
Blame-O-Meter | 00:03:00 | ||
Is It Fixed? | 00:01:00 | ||
Is It Fixed? Solution | 00:01:00 | ||
Causes and Causality | 00:02:00 | ||
Causes and Causality | 00:03:00 | ||
Actual Cause | 00:02:00 | ||
Actual Cause | 00:01:00 | ||
Actual Cause – Take 2 | 00:01:00 | ||
Actual Cause – Take 2 | 00:01:00 | ||
Leveraging Input Structure | 00:03:00 | ||
Leveraging Input Structure Solution | 00:02:00 | ||
Problem Set 3 | |||
Improving Delta Debugger | 00:02:00 | ||
Scandal in Bohemia | 00:02:00 | ||
Tracking Origins | |||
Think Like Sherlock Holmes | 00:02:00 | ||
Sherlock Who? | 00:01:00 | ||
Sherlock Who Solution? | 00:01:00 | ||
Art of Deduction | 00:03:00 | ||
Art of Deduction Solution | 00:01:00 | ||
Deduce More | 00:01:00 | ||
Deduce More Solution | 00:01:00 | ||
What Was the Value? | 00:01:00 | ||
What Was the Value? Solution | 00:01:00 | ||
Can It Fail Now? | 00:02:00 | ||
Can It Fail Now? Solution | 00:01:00 | ||
Double-Check | 00:04:00 | ||
Still a Bug | 00:01:00 | ||
Still a Bug Solution | 00:01:00 | ||
Fix It for Good | 00:01:00 | ||
Fix It for Good Solution | 00:01:00 | ||
Dependencies | 00:01:00 | ||
Find Dependency | 00:01:00 | ||
Find Dependency Solution | 00:01:00 | ||
Control Dependency | 00:02:00 | ||
Control Dependency Solution | 00:00:00 | ||
Follow the Dependencies | 00:02:00 | ||
Backward Slice | 00:02:00 | ||
Backward Slice Solution | 00:01:00 | ||
Forward Slice | 00:01:00 | ||
Forward Slice Solution | 00:01:00 | ||
Dynamic Slice | 00:03:00 | ||
Dynamic Slice Solution | 00:01:00 | ||
More Slicing | 00:03:00 | ||
More Slicing Solution | 00:01:00 | ||
Slices in Real World | 00:02:00 | ||
Dependencies and the Scientific Method | 00:01:00 | ||
Dependencies and the Scientific Method | 00:01:00 | ||
Likely Origin | 00:02:00 | ||
Automate This | 00:02:00 | ||
Minimum Set of Changes | 00:03:00 | ||
Minimum Set of Changes Solution | 00:01:00 | ||
Path to Automation | 00:01:00 | ||
Problem Set 4 | |||
Automate Deduction | 00:03:00 | ||
Reproducing Failures | |||
Bug Categories | 00:03:00 | ||
Classify the Bug | 00:01:00 | ||
Classify the Bug Solution | 00:02:00 | ||
The Many Facets of Input | 00:03:00 | ||
What Is the Issue? | 00:01:00 | ||
What Is the Issue? Solution | 00:01:00 | ||
Reproducing User Interaction | 00:03:00 | ||
Reproducing User Interaction Solution | 00:01:00 | ||
Record and Replay | 00:01:00 | ||
Record and Replay Solution | 00:03:00 | ||
Recording GUI | 00:02:00 | ||
Risks | 00:01:00 | ||
Risks Solution | 00:01:00 | ||
Record Calls | 00:04:00 | ||
Record Calls Solution | 00:01:00 | ||
Paths of Improvement | 00:01:00 | ||
Other Facets | 00:02:00 | ||
Buggy Laptop | 00:01:00 | ||
Buggy Laptop Solution | 00:01:00 | ||
Capturing | 00:04:00 | ||
Star Lines | 00:01:00 | ||
Star Lines | 00:02:00 | ||
Different Input | 00:02:00 | ||
Tricky Input | 00:01:00 | ||
Tricky Input Solution | 00:01:00 | ||
Phi Coefficient | 00:03:00 | ||
Calculate Phi | 00:01:00 | ||
Calculate Phi Solution | 00:01:00 | ||
Problem Set 5 | |||
The Mystery Program | 00:03:00 | ||
Learning from Mistakes | |||
Bug Management | 00:01:00 | ||
GNU DDD | 00:02:00 | ||
Bug Reports | 00:01:00 | ||
Vital Information | 00:01:00 | ||
Most Crucial | 00:01:00 | ||
Most Crucial Solution | 00:01:00 | ||
Example Bug Report | 00:01:00 | ||
Bug Databases | 00:01:00 | ||
Bugzilla | 00:02:00 | ||
Bug #915 | 00:01:00 | ||
Bug #915 Solution | 00:01:00 | ||
Bug Report Fields | 00:02:00 | ||
Fixed First | 00:01:00 | ||
Fixed First Solution | 00:01:00 | ||
SCCB | 00:01:00 | ||
Problem Life Cycle | 00:02:00 | ||
Which Stage? | 00:01:00 | ||
Which Stage? Solution | 00:01:00 | ||
Housekeeping | 00:03:00 | ||
Test vs. Bug Report | 00:01:00 | ||
Test vs. Bug Report Solution | 00:01:00 | ||
Defect Maps | 00:03:00 | ||
Large Defect Maps | 00:01:00 | ||
Insecure Package | 00:01:00 | ||
Insecure Package Solution | 00:02:00 | ||
Pareto Principle | 00:02:00 | ||
Pareto Principle Solution | 00:02:00 | ||
Predict the Future | 00:01:00 | ||
Predict the Future Solution | 00:01:00 | ||
Complexity | 00:01:00 | ||
Complexity Solution | 00:01:00 | ||
Well Tested | 00:01:00 | ||
Well Tested Solution | 00:01:00 | ||
Team Structure | 00:01:00 | ||
Team Structure Solution | 00:02:00 | ||
Problem Domain | 00:01:00 | ||
Problem Domain Solution | 00:02:00 | ||
Recap on Sources | 00:01:00 | ||
Look at Data | 00:01:00 | ||
Recap and More Stories | |||
Overview | 00:01:00 | ||
The Seven Steps of Debugging | 00:08:00 | ||
What You Can Do | 00:04:00 | ||
Favorite Bug Stories | 00:04:00 | ||
Assessment | |||
Submit Your Assignment | 00:00:00 | ||
Certification | 00:00:00 |
Course Reviews
No Reviews found for this course.