关于此课程

在本课中,你将学习如何系统地调试程序,如何自动化此过程,以及用 Python 编写自动化调试工具。

学费
免费
学习时间
大约 2 months
难度
中级
你将获得

Rich Learning Content

Interactive Quizzes

Taught by Industry Pros

Self-Paced Learning

Student Support Community

开始你的旅程

学习这门免费课程,迈出通往机器学习工程师(中/英)职业道路的第一步。

免费课程

软件调试

合作企业

通过创新性的自主学习方式,掌握新技能,提升竞争力。

Icon steps 54aa753742d05d598baf005f2bb1b5bb6339a7d544b84089a1eee6acd5a8543d
 
 

课程讲师

Andreas Zeller
Andreas Zeller

讲师

Gundega Dekena
Gundega Dekena

讲师

你将学到什么

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.

先修知识及要求

具备优达学城 CS101 计算机科学导论同等或更高级别的编程和 Python 基础知识。对面向对象编程有基本的了解会比较有用。

查看使用优达学城的技术要求

为什么学习这门课程?

在本课程结束时,你将对系统调试有了充分的了解,知道如何自动化调试,并在 Python 中成功构建几个功能完备的调试工具。

我将获得什么?
Instructor videos Learn by doing exercises Taught by industry professionals