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

Debugging: Hunting and Squashing Bugs

4 Modules
24 Hours
6 hrs per module (approx.)
Rating

About Debugging: Hunting and Squashing Bugs

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 minimize mistakes and problems in 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. The majority of coding errors occur when the programmer doesn’t understand the code or makes mistakes with the language, resulting in bugs. In 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.

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

Skills You'll Gain

  • Debugging
  • Software Testing

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
  • Technology
Platform
Coursera
Welcome Message

Debugging: Hunting and Squashing Bugs teaches systematic approaches to preventing, finding, and fixing software errors. Learners practice debugging techniques using unit tests, file processing, regular expressions, and the Visual Studio Code debugger through hands-on exercises and quizzes.
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: Working with Files and Unit Tests

  • Video: Welcome to Course 3
  • Video: How is This Course Different?
  • Reading: Syllabus
  • Reading: Community Engagement Guidelines
  • Reading: Course Pre-Survey
  • Video: What is Python?
  • Video: Why Work in Groups?
  • Video: POGIL Roles
  • Discussion Prompt: How to Work in Groups
  • Video: How to Write Code in the eBook
  • Video: Reloading Your Code History
  • Reading: Week 1 Overview
  • Video: Welcome to Week 1
  • Discussion Prompt: Introduce Yourself | Where in the World Are You?
  • Video: Installing Software
  • Video: Introduction to Files
  • Video: Using a GUI to find a file
  • Reading: How to Bring Up a Terminal Window
  • Video: Using a terminal window
  • App Item: eBook Login
  • Reading: Exercise: Group Work | Reading from Files
  • Video: Using try and except
  • Reading: Exercise: Ebook Work | Writing to Files
  • App Item: Peer Instruction | Files
  • Discussion Prompt: Peer Instruction Discussion | Files
  • App Item: Exercise: Files Practice | Parsons/Write
  • Reading: Exercise: Ebook Work | Unit Tests
  • Video: Debugging when Unit Tests Fail
  • Reading: Exercise: Ebook Work | How to Avoid Debugging
  • Reading: Exercise: Ebook Work | Know Your Error Messages
  • Video: Reduce the need to debug
  • Reading: Exercise: Group Work | Unit Tests
  • App Item: Peer Instruction | Unit Tests
  • Discussion Prompt: Peer Instruction Discussion | Unit Tests
  • App Item: Exercise: Group Work | Unit Tests
  • Reading: Assignment Brief | Reading from a File and Debugging
  • Reading: Assignment Instructions | Reading from a File and Debugging
  • App Item: Assignment Submission | Reading from a File and Debugging
  • Discussion Prompt: Assignment Reflection | Reading from a File and Debugging
  • Discussion Prompt: End of Week 1 Discussion | Working with Files and Unit Tests Recap
  • Graded: Week 1 Quiz


Module 2: Parsing CSV Data and Using a Debugger

  • Reading: Week 2 Overview
  • Video: Welcome to Week 2
  • Video: What is a CSV file?
  • Video: Fix get_total_for_year
  • Video: Fix column with a comma
  • Video: Using sorted vs sort on a list
  • Video: Sorting a dictionary by the values
  • Reading: Exercise: Group Work | CSV Files
  • App Item: Peer Instruction | Sorted
  • Discussion Prompt: Peer Instruction Discussion | Sorted
  • App Item: Exercise: CSV File Practice
  • Video: What is debugging?
  • Video: Finding the problem
  • Video: Why use a debugger?
  • Video: Debugging in Visual Studio Code
  • App Item: Peer Instruction | Debugging
  • Discussion Prompt: Peer Instruction Discussion | Debugging
  • App Item: Exercise: Debugging Practice | Debug with Unit Tests
  • Reading: Assignment Brief | Debugging with Simple CSV Files
  • Reading: Assignment Instructions | Debugging with Simple CSV Files
  • App Item: Assignment Submission | Debugging with Simple CSV Files
  • Discussion Prompt: Assignment Discussion | Debugging with Simple CSV
  • Discussion Prompt: End of Week 2 Discussion | Parsing CSV Data and Using a Debugger Recap
  • Graded: Week 2 Quiz

Module 3: CSV Reader and Writer Debugging

  • Reading: Week 3 Overview
  • Video: Welcome to Week 3
  • Reading: Exercise: Group Work | CSV Reader/Writer
  • Video: Fix get_total_for_year
  • Video: Fix errors - get_max_month
  • Video: Fix errors - get_top_five_by_age
  • App Item: Peer Instruction | CSV-Reader-Writer
  • Discussion Prompt: Peer Instruction Discussion | CSV-Reader-Writer
  • App Item: Exercise: CSV Practice | CSV-Read-Write
  • Video: Writing unit test for CSV Writer
  • Video: Deeper Dive on the VSCode Debugger
  • Video: Using a setUp method
  • App Item: Peer Instruction | Debugging Commands
  • Discussion Prompt: Peer Instruction Discussion | Debugging Commands
  • App Item: Exercise: CSV Practice | Write-UnitTest-Practice
  • Reading: Assignment Brief | Debugging with CSV Reader/CSV Writer
  • Reading: Assignment Instructions | Debugging with CSV Reader/CSV Writer
  • App Item: Assignment Submission | Debugging with CSV Reader/CSV Writer
  • Discussion Prompt: Assignment Reflection | Debugging with CSV Reader/CSV Writer
  • Discussion Prompt: End of Week 3 Discussion | CSV Reader/Writer and Debugging Recap
  • Graded: Week 3 Quiz


Module 4: Regex

  • Reading: Week 4 Overview
  • Video: Welcome to Week 4
  • Video: Introduction to regular expressions
  • Reading: Exercise: Group Work | Regular Expressions (Regex)
  • Video: Difference between search and find all
  • Video: Using regex101
  • Video: Quantifiers
  • Video: Character ranges
  • Video: Special characters
  • Video: Escaping special characters
  • Video: Greedy and non-greedy matching
  • Reading: Exercise: Regex Practice | Single Line
  • App Item: Peer Instruction | Regex
  • Discussion Prompt: Peer Instruction Discussion | Regex
  • App Item: Exercise: Regex Practice | Regex
  • Reading: Exercise: Group Work | More Regular Expressions (Regex)
  • Video: The problem with parentheses
  • Video: Anchors
  • Video: Negated character ranges
  • Video: Matching phone numbers
  • Reading: Exercise: Regex Advanced Practice | Single Line
  • App Item: Peer Instruction | Advanced Regex
  • Discussion Prompt: Peer Instruction Discussion | Advanced Regex
  • App Item: Exercise: Regex Advanced Practice | Regex
  • Reading: Assignment Brief | Regex
  • Reading: Assignment Instructions | Regex
  • App Item: Assignment Submission | Regex
  • Discussion Prompt: Assignment Reflection | Regex
  • Discussion Prompt: End of Week 4 Discussion | Regex Recap
  • Discussion Prompt: End of Course Recap
  • Reading: Course Post-Survey
  • Graded: Week 4 Quiz
Grading Policy

This course features four graded quizzes, each worth 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

Some related experience required

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

Michigan Online
For You

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