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.
涵盖的内容
14个视频7篇阅读材料4个作业1个应用程序项目
显示有关单元内容的信息
14个视频•总计69分钟
Course introduction•4分钟
Intro to Module 1: Troubleshooting Concepts•2分钟
What is debugging?•5分钟
Problem solving steps•4分钟
Silently crashing application•6分钟
"It Doesn't Work"•7分钟
Creating a Reproduction Case•4分钟
Finding the Root Cause•6分钟
Dealing with Intermittent Issues•5分钟
Intermittently Failing Script•9分钟
What is binary search?•3分钟
Applying binary search in troubleshooting•5分钟
Finding invalid data•7分钟
Module 1 Wrap Up: Troubleshooting concepts•2分钟
7篇阅读材料•总计30分钟
Welcome to the course•4分钟
Review: Intermittently failing script•4分钟
Linear and binary search (Optional)•4分钟
Review: Finding invalid data•4分钟
Qwiklabs guidelines and troubleshooting steps•4分钟
Exemplar: Debug Python Scripts•8分钟
Glossary terms from course 4, module 1•2分钟
4个作业•总计80分钟
Module 1 challenge: Debug Python Scripts•50分钟
Test your knowledge: Introduction to debugging•10分钟
Test your knowledge: Understanding the problem•10分钟
Test your knowledge: Binary searching a problem•10分钟
1个应用程序项目•总计90分钟
Qwiklabs assessment: Debug Python scripts•90分钟
Slowness
第 2 单元•小时 后完成
单元详情
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.
涵盖的内容
15个视频5篇阅读材料4个作业1个应用程序项目
显示有关单元内容的信息
15个视频•总计75分钟
Intro to Module 2: Slowness•3分钟
Why is my computer slow?•5分钟
How computers use resources•5分钟
Possible causes of slowness•5分钟
Slow web server•10分钟
Writing efficient code•4分钟
Using the right data structures•4分钟
Expensive loops•4分钟
Keeping local results•5分钟
Slow script with expensive loop•8分钟
Parallelizing operations•6分钟
Slowly growing in complexity•4分钟
Dealing with complex slow systems•4分钟
Using threads to make things go faster•6分钟
Module 2 Wrap Up: Slowness•2分钟
5篇阅读材料•总计24分钟
Monitoring tools•4分钟
More about improving our code•4分钟
More about complex slow systems•4分钟
Glossary terms from course 4, module 2•4分钟
Exemplar: Performance Tuning in Python Scripts•8分钟
4个作业•总计80分钟
Module 2 challenge: Performance Tuning in Python Scripts•50分钟
Test your knowledge: Understanding slowness•10分钟
Test your knowledge: Slow code•10分钟
Test your knowledge: When slowness problems get complex•10分钟
1个应用程序项目•总计90分钟
Qwiklabs assessment: Performance tuning in Python scripts•90分钟
Crashing Programs
第 3 单元•小时 后完成
单元详情
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.
涵盖的内容
14个视频15篇阅读材料4个作业1个应用程序项目
显示有关单元内容的信息
14个视频•总计76分钟
Intro to Module 3: Crashing programs•4分钟
Systems that crash•6分钟
Understanding crashing applications•6分钟
What to do when you can't fix the program?•5分钟
Internal server error•10分钟
Accessing invalid memory•7分钟
Unhandled errors and exceptions•6分钟
Fixing someone else's code•4分钟
Debugging a segmentation fault•5分钟
Debugging a Python crash•6分钟
Crashes in Complex Systems•6分钟
Communication and Documentation During Incidents•5分钟
Writing Effective Postmortems•4分钟
Module 3 Wrap Up: Crashing Programs•2分钟
15篇阅读材料•总计62分钟
Internal server error•4分钟
Resources for understanding crashes•4分钟
Review: Debugging a segmentation fault•4分钟
Review: Debugging a Python crash•4分钟
Debugging with print•4分钟
Debugging with assert•4分钟
Try and catch debugging•4分钟
Python logging module•4分钟
Python debugging with pdb•4分钟
Debugging/ breakpoints in VS Code•4分钟
AI infused debugging and paired programming•4分钟
Resources for debugging crashes•4分钟
Practice writing effective postmortems•4分钟
Glossary terms from course 4, module 3•2分钟
Exemplar: Fix errors in Python scripts•8分钟
4个作业•总计95分钟
Module 3 challenge: Fixing errors in Python scripts•50分钟
Test your knowledge: Why programs crash•10分钟
Test your knowledge: Code that crashes•25分钟
Test your knowledge: Handling bigger incidents•10分钟
1个应用程序项目•总计90分钟
Qwiklabs assessment: Fix errors in Python scripts•90分钟
Managing Resources
第 4 单元•小时 后完成
单元详情
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.
涵盖的内容
16个视频10篇阅读材料4个作业1个应用程序项目
显示有关单元内容的信息
16个视频•总计72分钟
Intro to Module 4: Managing Resources•2分钟
Memory Leaks and How to Prevent Them•6分钟
Managing Disk Space•6分钟
Network Saturation•6分钟
Dealing with Memory Leaks•8分钟
Getting to the Important Tasks•6分钟
Prioritizing Tasks•6分钟
Estimating the Time Tasks Will Take•4分钟
Communicating Expectations•6分钟
Dealing with Hard Problems•5分钟
Proactive Practices•5分钟
Planning Future Resource Usage•4分钟
Preventing Future Problems•4分钟
Module 4 Wrap Up: Managing Resources•1分钟
Congratulations!•1分钟
Sneak Peek of Next Course•1分钟
10篇阅读材料•总计44分钟
More about managing resources•4分钟
More about making the best use of your time•10分钟
Change management in virtualized environments•4分钟
Containerized Applications: Docker•4分钟
More about preventing future breakage•4分钟
Glossary terms from course 4, module 4•2分钟
Exemplar: Debug and solve software problems•8分钟
IT skills in action•4分钟
Reflect and connect with your peers•2分钟
Course 4 glossary•2分钟
4个作业•总计80分钟
Module 4 challenge: Debug and solve software problems•50分钟
Test your knowledge: Managing computer resources•10分钟
Test your knowledge: Managing our time•10分钟
Test your knowledge: Making our future lives easier•10分钟
1个应用程序项目•总计90分钟
Qwiklabs assessment: Debug and solve software problems•90分钟
Grow with Google is an initiative that draws on Google's decades-long history of building products, platforms, and services that help people and businesses grow. We aim to help everyone – those who make up the workforce of today and the students who will drive the workforce of tomorrow – access the best of Google’s training and tools to grow their skills, careers, and businesses.
确定
人们为什么选择 Coursera 来帮助自己实现职业发展
Felipe M.
自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'
Jennifer J.
自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'
Larry W.
自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'
Chaitanya A.
''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'
学生评论
4.6
3,095 条评论
5 stars
75.95%
4 stars
16.48%
3 stars
4.62%
2 stars
1.71%
1 star
1.22%
显示 3/3095 个
B
BP
5·
已于 Aug 7, 2020审阅
Excelente curso, excelente instructor. Una gran cantidad de información muy útil.***********************Excellent course, excellent instructor. A lot of very useful information.
J
JB
4·
已于 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!
F
FC
5·
已于 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!
When will I have access to the lectures and assignments?
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.
What will I get if I subscribe to this Certificate?
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.