VOOZH about

URL: https://www.coursera.org/learn/troubleshooting-debugging-techniques

⇱ Troubleshooting and Debugging Techniques | Coursera


Troubleshooting and Debugging Techniques

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Troubleshooting and Debugging Techniques

155,555 already enrolled

Included with

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.6

3,096 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
95%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.6

3,096 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
95%
Most learners liked this course

What you'll learn

  • Analyze real-world IT problems and implement the appropriate strategies to solve those problems

  • Demonstrate techniques to quickly find and solve the root cause of problems in IT infrastructure

  • Understand the root cause for problems related to speed, crashes, or exhausted resources in your computer

  • Identify the most common pitfalls of your code and how to fix them

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

16 assignments

Taught in English

Build your Cloud Computing expertise

This course is part of the Google IT Automation with Python Professional Certificate
When you enroll in this course, you'll also be enrolled in this Professional Certificate.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate from Google

There are 4 modules in this course

In this course, we'll give you the tools to quickly identify and solve real-world problems that you might come across in your IT role. We'll look at a bunch of different strategies and approaches for tackling the most common pitfalls of your code and IT infrastructure. You'll learn strategies for approaching almost any technical problem and then see how those apply to solving different real-world scenarios.

We picked examples that include general system issues, issues with software that someone else wrote, and issues with programs that we wrote. We'll talk about problems that can affect any operating system, and we'll also look at challenges specific to certain platforms and scripting languages. We strongly recommend that you’ve taken the prior courses in this program, or already have knowledge of Python and Linux so that you can follow along with our troubleshooting examples.

In this module, you’ll be introduced to the fundamentals of troubleshooting and you’ll learn different strategies and approaches to tackle problems that you might encounter. You’ll learn about the concept of debugging and how debugging is one of the core principles of troubleshooting. You’ll be introduced to some tools that will help you in the debugging process, like tcpdump, ps, top, itrace, and lots more. Next, you’ll explore how to “understand the problem.” This might sound like a no brainer, but it's not as easy as you might think! Next, we’ll dive into the different approaches when troubleshooting reproducing errors versus intermittent errors. Finally, you’ll learn about “binary searching a problem.” We’ll explore the different types of searches, including binary and linear searches. Then, we’ll learn about the concept of bisecting and how it can be used in your troubleshooting approach, and finish up with finding invalid data in a CSV file.

What's included

14 videos7 readings4 assignments1 app item

14 videosTotal 69 minutes
  • Course introduction4 minutes
  • Intro to Module 1: Troubleshooting Concepts2 minutes
  • What is debugging?5 minutes
  • Problem solving steps4 minutes
  • Silently crashing application6 minutes
  • "It Doesn't Work"7 minutes
  • Creating a Reproduction Case4 minutes
  • Finding the Root Cause6 minutes
  • Dealing with Intermittent Issues5 minutes
  • Intermittently Failing Script9 minutes
  • What is binary search?3 minutes
  • Applying binary search in troubleshooting5 minutes
  • Finding invalid data7 minutes
  • Module 1 Wrap Up: Troubleshooting concepts2 minutes
7 readingsTotal 30 minutes
  • Welcome to the course4 minutes
  • Review: Intermittently failing script4 minutes
  • Linear and binary search (Optional)4 minutes
  • Review: Finding invalid data4 minutes
  • Qwiklabs guidelines and troubleshooting steps4 minutes
  • Exemplar: Debug Python Scripts8 minutes
  • Glossary terms from course 4, module 12 minutes
4 assignmentsTotal 80 minutes
  • Test your knowledge: Introduction to debugging10 minutes
  • Test your knowledge: Understanding the problem10 minutes
  • Test your knowledge: Binary searching a problem10 minutes
  • Module 1 challenge: Debug Python Scripts50 minutes
1 app itemTotal 90 minutes
  • Qwiklabs assessment: Debug Python scripts90 minutes

In this module, you’ll learn about what factors can cause a machine or program to act slowly. You’ll dive into ways of addressing slowness by identifying the bottleneck that might be causing the slowness. You’ll learn about tools to identify which resources are being exhausted, including iotop, iftop, and activity monitor in MacOS. Next, you’ll learn how computers use resources, and understand the differences between CPU, RAM, and cache in order to help you find the possible causes for slowness in our machines or scripts.Next up, you’ll learn how to write efficient code, then explore profilers to help you identify where your code is spending most of its time. Next, you’ll dive into data structures and understand which ones are right for you to use. These include lists, tuples, dictionaries, sets, and expensive loops. Then, you’ll dive into complex slowness problems and how utilizing concurrency and adding a caching service can improve the execution of your code. Finally, you’ll understand how using threads can make the execution of your code much quicker.

What's included

15 videos5 readings4 assignments1 app item

15 videosTotal 75 minutes
  • Intro to Module 2: Slowness3 minutes
  • Why is my computer slow?5 minutes
  • How computers use resources5 minutes
  • Possible causes of slowness5 minutes
  • Slow web server10 minutes
  • Writing efficient code4 minutes
  • Using the right data structures4 minutes
  • Expensive loops4 minutes
  • Keeping local results5 minutes
  • Slow script with expensive loop8 minutes
  • Parallelizing operations6 minutes
  • Slowly growing in complexity4 minutes
  • Dealing with complex slow systems4 minutes
  • Using threads to make things go faster6 minutes
  • Module 2 Wrap Up: Slowness2 minutes
5 readingsTotal 24 minutes
  • Monitoring tools4 minutes
  • More about improving our code4 minutes
  • More about complex slow systems4 minutes
  • Glossary terms from course 4, module 24 minutes
  • Exemplar: Performance Tuning in Python Scripts8 minutes
4 assignmentsTotal 80 minutes
  • Test your knowledge: Understanding slowness10 minutes
  • Test your knowledge: Slow code10 minutes
  • Test your knowledge: When slowness problems get complex10 minutes
  • Module 2 challenge: Performance Tuning in Python Scripts50 minutes
1 app itemTotal 90 minutes
  • Qwiklabs assessment: Performance tuning in Python scripts90 minutes

In this module, you’ll get introduced to the age old question, “Why has my program crashed?” You’ll learn how to troubleshoot system crashes and application crashes, what tools can be used to help identify the cause of the crash, and what log files to look at in order to find what might have gone wrong. Next, you’ll dive into investigating why code crashes, and what you can do to prevent that from happening. Then, you’ll explore what happens when an unhandled error occurs and throws an exception. You’ll learn about several debugging techniques, which will help you identify these errors and exceptions. Finally, you’ll explore the concept of handling crashes and incidents at a much larger scale. You’ll delve into a scenario where a large eCommerce site will throw an error 20% of the time. Once that issue has been fixed, you’ll understand the importance of communication and documentation during these incidents, and how writing a post mortem can prevent issues from happening again.

What's included

14 videos15 readings4 assignments1 app item

14 videosTotal 76 minutes
  • Intro to Module 3: Crashing programs4 minutes
  • Systems that crash6 minutes
  • Understanding crashing applications6 minutes
  • What to do when you can't fix the program?5 minutes
  • Internal server error10 minutes
  • Accessing invalid memory7 minutes
  • Unhandled errors and exceptions6 minutes
  • Fixing someone else's code4 minutes
  • Debugging a segmentation fault5 minutes
  • Debugging a Python crash6 minutes
  • Crashes in Complex Systems6 minutes
  • Communication and Documentation During Incidents5 minutes
  • Writing Effective Postmortems4 minutes
  • Module 3 Wrap Up: Crashing Programs2 minutes
15 readingsTotal 62 minutes
  • Internal server error4 minutes
  • Resources for understanding crashes4 minutes
  • Review: Debugging a segmentation fault4 minutes
  • Review: Debugging a Python crash4 minutes
  • Debugging with print4 minutes
  • Debugging with assert4 minutes
  • Try and catch debugging4 minutes
  • Python logging module4 minutes
  • Python debugging with pdb4 minutes
  • Debugging/ breakpoints in VS Code4 minutes
  • AI infused debugging and paired programming4 minutes
  • Resources for debugging crashes4 minutes
  • Practice writing effective postmortems4 minutes
  • Glossary terms from course 4, module 32 minutes
  • Exemplar: Fix errors in Python scripts8 minutes
4 assignmentsTotal 95 minutes
  • Test your knowledge: Why programs crash10 minutes
  • Test your knowledge: Code that crashes25 minutes
  • Test your knowledge: Handling bigger incidents10 minutes
  • Module 3 challenge: Fixing errors in Python scripts50 minutes
1 app itemTotal 90 minutes
  • Qwiklabs assessment: Fix errors in Python scripts90 minutes

In this module, you’ll learn how to manage your applications. You’ll dive into some common issues that may cause your application to crash. You’ll also understand what memory leaks are, and how to troubleshoot and prevent them. Up next, you’ll run down managing disk space; you’ll see some scenarios of how this happens and how to identify what process or application is taking up all your disk space. Then, you'll learn what network saturation is, how it can be caused, and some useful tools and techniques to solve a network saturation problem. Next, we’ll shift from managing applications to managing your time. You’ll get tips on how to prioritize tasks, estimate how long a particular task will take before finishing, and communicate expectations when dealing with important tasks. The final lesson delves into how to deal with hard and complex problems by breaking it down into small, digestible chunks while keeping your eyes on a clear goal. You’ll learn that using proactive approaches, like continuous integration, can help you with future issues that might come up. You’ll also explore how to plan for future resource usage by making good use of monitoring.

What's included

16 videos10 readings4 assignments1 app item

16 videosTotal 72 minutes
  • Intro to Module 4: Managing Resources2 minutes
  • Memory Leaks and How to Prevent Them6 minutes
  • Managing Disk Space6 minutes
  • Network Saturation6 minutes
  • Dealing with Memory Leaks8 minutes
  • Getting to the Important Tasks6 minutes
  • Prioritizing Tasks6 minutes
  • Estimating the Time Tasks Will Take4 minutes
  • Communicating Expectations6 minutes
  • Dealing with Hard Problems5 minutes
  • Proactive Practices5 minutes
  • Planning Future Resource Usage4 minutes
  • Preventing Future Problems4 minutes
  • Module 4 Wrap Up: Managing Resources1 minute
  • Congratulations!1 minute
  • Sneak Peek of Next Course1 minute
10 readingsTotal 44 minutes
  • More about managing resources4 minutes
  • More about making the best use of your time10 minutes
  • Change management in virtualized environments4 minutes
  • Containerized Applications: Docker4 minutes
  • More about preventing future breakage4 minutes
  • Glossary terms from course 4, module 42 minutes
  • Exemplar: Debug and solve software problems8 minutes
  • IT skills in action4 minutes
  • Reflect and connect with your peers2 minutes
  • Course 4 glossary2 minutes
4 assignmentsTotal 80 minutes
  • Test your knowledge: Managing computer resources10 minutes
  • Test your knowledge: Managing our time10 minutes
  • Test your knowledge: Making our future lives easier10 minutes
  • Module 4 challenge: Debug and solve software problems50 minutes
1 app itemTotal 90 minutes
  • Qwiklabs assessment: Debug and solve software problems90 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

Instructor ratings
4.7 (629 ratings)
Google
386 Courses16,905,595 learners

Explore more from Cloud Computing

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    75.96%

  • 4 stars

    16.47%

  • 3 stars

    4.62%

  • 2 stars

    1.71%

  • 1 star

    1.22%

Showing 3 of 3096

JB
·

Reviewed on Jan 5, 2024

I didn't learn more about troubleshooting, but I did learn a bit. Also, I really like the animations in the videos. My brother thought that some of them were hilarious!

FC
·

Reviewed on Sep 11, 2024

Excellent course, I loved the didactic! Just had some difficult solving challenges on some Qwiklabs, but in general I learned a lot of new and interesting things!

IB
·

Reviewed on Mar 20, 2020

This is my best course and I also like how immersive and passionate the instructor was. I thank her for all the skills she imparted and would to her on more courses in the future.

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Financial aid available,