Your browser is ancient!
Upgrade to a different browser to experience this site.

Python Debugging: A Systematic Approach

What You'll Learn

  • Use Jupyter Notebook to implement basic Python workflows and constructs.
  • Apply the OILER framework for debugging many common Python bugs.
  • Use official Python documentation to enhance understanding of different programming formats.
  • Interpret Python error messages to resolve runtime execution issues.
4 Modules
20 Hours
5 hrs per module (approx.)
Rating

About Python Debugging: A Systematic Approach

In “Python Debugging: A Systematic Approach,” you will develop essential coding skills for data science, focusing on writing, testing, and debugging code. You will learn foundational Python concepts, such as looping, control structures, variables, and basic debugging techniques. You will also learn how a structured debugging procedure can help you debug more effectively and efficiently.

Throughout the course, you’ll practice essential programming concepts such as map, filter, and list comprehension. You’ll learn how to take a systematic approach to debugging with the OILER framework – Orient, Investigate, Locate, Experiment, and Reflect – allowing you to spot errors more easily and adjust your code. In addition to frameworks to help you improve your code, you’ll explore how documentation, internet resources, and even large language models (LLMs) can help you identify and fix errors. By the end of this course, you should feel confident in your abilities to write clean, efficient, and reusable code.

This is the first course in the four-course series, “Data-Oriented Python Programming and Debugging,” where you’ll work to strengthen your programming capabilities and enhance your problem-solving skills.

Skills You'll Gain

  • Code Testing
  • Computer Programming
  • Data Analysis
  • Debugging
  • Python For Data Analysis
  • Python (Programming Language)

What You'll Earn

Certificate of Completion:
Certificates of completion acknowledge knowledge acquired upon completion of a non-credit course or program.
Experience Type
100% Online
Format
Self-Paced
Subject
  • Data Science
Platform
Coursera
Welcome Message

Welcome to Python Debugging: A Systematic Approach, a hands-on course that teaches learners how to identify, analyze, and resolve coding issues using a structured debugging framework. Learners practice debugging in Jupyter notebooks and build maintainable, reproducible code.
This abbreviated syllabus description was created with the help of AI tools and reviewed by staff. The full syllabus is available to those who enroll in the course.

Course Schedule

Module 1: Review and Setup

  • Video: Welcome to the Course and Specialization
  • Reading: Course Syllabus
  • Discussion Prompt: Introduce Yourself
  • Reading: Help Us Learn About You
  • Video: Welcome to Course 1
  • Ungraded Lab: Jupyter Lab Environment
  • Video: Intro to Jupyter Notebook
  • Reading: Course Content Disclaimers
  • Reading: Recommender Systems
  • Video: Review: Map, Filter, List Comprehensions
  • Ungraded Lab: Jupyter Lab 1
  • Graded: Assessment 1

Module 2: The Debugging Framework

  • Ungraded Lab: Jupyter Lab Environment
  • Video: Overview of the Debugging Framework
  • Video: Orient Yourself
  • Video: Investigate the Symptoms Part I: Understanding Error Messages
  • Video: Investigate the Symptoms Part II: Code vs. Intention Mismatch
  • Video: Investigate the Symptoms Part III: Misunderstanding Computations and Data
  • Video: Locate the Root Cause
  • Video: Experiment With a Fix
  • Video: Reflect
  • Reading: Oiler Framework: Part 1 - Chapters 1-6
  • Ungraded Lab: Jupyter Lab 2
  • Graded: Assessment 2.1
  • Graded: Assessment 2.2

Module 3: Framework Skills

  • Ungraded Lab: Jupyter Lab Environment
  • Video: Framework Example 2
  • Video: Framework Example 3
  • Reading: Oiler Framework: Part 2 - Chapters 7-12
  • Ungraded Lab: Bug Log and Bug Recipes
  • Video: Debugging with an LLM
  • Video: Debugging with the Internet
  • Video: Debugging with Docs
  • Video: Using the Jupyter Debugger
  • Ungraded Lab: Jupyter Lab 3
  • Graded: Assessment 3

Module 4: Stop Bugs Before they Happen

  • Ungraded Lab: Jupyter Lab Environment
  • Video: Introduction: Make it Easy on Future You
  • Video: DRY (Don't Repeat Yourself) Part 1: Iterate
  • Video: DRY (Don't Repeat Yourself) Part 2: Write a Function
  • Video: Documenting Functions
  • Video: Making Your Notebook Reproducible
  • Reading: Ten Simple Rules for Writing and Sharing Computational Analyses in Jupyter Notebooks
  • Reading: Post Course Survey
  • Reading: Attributions
  • Graded: Assessment 4.1
  • Graded: Assessment 4.2
Grading Policy

Learners must earn an overall grade of 80%. Assessments in each module account for 25% of your final grade.

Course content developed by U-M faculty and managed by the university. Faculty titles and affiliations are updated periodically.

Intermediate Level

Learners should complete "Python 3 Programming" on Coursera or have equivalent experience with Python programming basics.

Enrollment Options

Individuals

This experience is available to individual learners on the following platforms:

U-M Community

Students, faculty, staff, and alumni of the University of Michigan get free access.

Organizations

Special pricing and tailored programming bundles available for organizational partners.

What are Coursera and edX?

Michigan Online learning experiences may be hosted on one or more learning platforms. Platform features may vary, including payment models, social communities, and learner support.

Coursera

  • Hosts online courses, series, and Teach-Outs from Michigan Online
  • Enroll and preview courses anytime
  • May earn a non-credit certificate from Coursera

edX

  • Hosts online courses and series from Michigan Online
  • Many offer a free (limited) audit option
  • May earn a non-credit certificate from edX

For more information visit the What are Coursera and edX? FAQ section

Reviews and Ratings

4.3

6 Ratings from Coursera

Michigan Online
For You

Sign up for a Michigan Online account to customize your experience!