• University of Michigan logo

Debugging: Hunting and Squashing Bugs

Boost your coding ability by learning to use debuggers, unit tests, and strategies to find and minimise bugs in your code.

A group of cartoon people examining a purple computer monitor with magnifying glasses on a yellow background.
  • Access to this course and 100s of others!
  • Digital certificate when eligible
  • Access to this course only
  • Digital and printed certificate when eligible
  • Free course access expires 29 Jul 2022
  • Learn at your own pace
  • Certificates or tests

Find out more about how to join this course

Expand your Python programming skills

Learning how to debug is the most valuable skill to develop as you learn to program. This four-week course from the University of Michigan will help you improve your programming ability by providing you with the skills you need to understand and debug code.

What’s more, you’ll learn the crucial techniques to help minimise mistakes and problems in your code.

Use a debugger to fix problems with your code

Most modern development environments contain a debugger, which you can use to find bugs and understand what is happening in your code. However, many people still rely on print statements when they debug.

This course will help you gain confidence in using debuggers, so you can spend less time seeking out and fixing bugs and focus on building exciting new programming projects.

Learn to recognise semantic and syntax errors in your code

The majority of coding errors occur when the programmer doesn’t understand the code or makes mistakes with the language, resulting in bugs.

On this course, you’ll gain the knowledge and skills needed to spot and solve semantic and syntax errors more easily. You’ll also streamline your coding process by learning to write and run unit tests to examine and check your code.

Study with the experts at the University of Michigan

Barbara Ericson is an Assistant Professor in the School of Information at the University of Michigan and an award-winning author of computing curricula.

With her years of expertise and creative approach to programming, she is best positioned to help you unlock your programming potential by hunting and squashing bugs.

What topics will you cover?

  • Discover strategies to minimize the number of bugs (mistakes) in your code.
  • Learn how to use a code stepper to see exactly what happens when code executes.
  • Gain skills with common tasks in a debugger (setting breakpoints, examining variable values, stepping through code).
  • Learn to recognise common syntax and semantic errors.
  • Understand how to create unit tests to test your code.
  • Use the output from unit tests to debug your code.

When would you like to start?

Start straight away and join a global classroom of learners. If the course hasn’t started yet you’ll see the future date listed below.

  • Available now

Learning on this course

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

What will you achieve?

By the end of the course, you‘ll be able to...

  • Apply strategies to minimize the number of bugs (mistakes) in their code.
  • Practice with a code stepper to see exactly what happens when code executes.
  • Practice with common tasks in a debugger (setting breakpoints, examining variable values, stepping through code).
  • Identify common syntax and semantic errors.
  • Create unit tests to test their code.
  • Apply the output from unit tests to debug their code.

Who is the course for?

This course is designed for those interested in developing their Python skills or communicating with other programmers in a professional setting.

Who will you learn with?

I am an Assistant Professor in the School of Information at the University of Michigan. I study how to improve both computing education and the diversity of students in computing.

Who developed the course?

University of Michigan

As the #1 public research university in the United States, U-M has been a leader in research, learning, and teaching for more than 200 years, with 102 Grad programs in the top 10 — U.S. News & World Report (2019).

  • Established

  • Location

    Ann Arbor, Michigan, USA
  • World ranking

    Top 30Source: Times Higher Education World University Rankings 2020

Ways to learn

Buy this course

Subscribe to Unlimited

Join with limited access

Choose the best way to learn for you!


One-off payment


Automatically renews


Unlock your expertiseAccess thousands of coursesTry this course - with limits
Access to this courseticktickLimited to 4 weeks
Access to ALL eligible coursescrosstickcross
Learn at your own paceticktickcross
Discuss your learning in commentstickticktick
Certificate when you're eligiblePrinted and digitalDigital onlycross
Buy this course

Ways to learn

Subscribe to Unlimited to access this course and thousands of other short courses or buy just this course for extra benefits. Or, join with limited access.

Subscribe to Unlimited


Automatically renews

Access thousands of courses

  • Access to this course
  • Access to ALL eligible short courses
  • Learn at your own pace
  • Discuss your learning in comments
  • Digital certificate when you're eligible

Buy this course


One-off payment

Unlock your expertise

  • Access to this course
  • Learn at your own pace
  • Discuss your learning in comments
  • Printed and digital certificate when you’re eligible

Join with limited access


Try before you buy

  • Limited access to course content for 4 weeks

Find out more about certificates, Unlimited or buying a course (Upgrades)

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Do you know someone who'd love this course? Tell them about it...