• Partnership for Advanced Computing in Europe (PRACE)
  • VLAAMS超级计算机中心徽标

防御性编程和调试

找出如何以程序员的身份编写干净和健壮的代码。探索技术以最大程度地减少开发过程中的错误数量。

5,864参加此课程

green bug

Learn how to identify and solve software bugs in your code

Want to improve your ability to identify and fix bugs in code?

在本课程中,您将发现如何减少软件开发过程中的错误。您将通过C和Fortran编程语言中的示例来了解示例,并了解如何使用编译器功能和为代码编写测试来尽早捕获错误。

You’ll learn to find the bugs in your code using the best tools available including debuggers and code analysers. You’ll also look at parallel programs and explore tools for debugging parallel code at scale.

By the end of the course, you’ll feel confident writing high-quality and clean code.

下载视频:标准orHD

Skip to0 minutes and 9 seconds您能告诉我们有关错误的信息吗?好吧,有故事。1947年,哈佛大学的一组技术人员正在运行机电计算机,他们注意到很多错误。因此,他们打开了计算机,发现了一个飞蛾。他们找到了一个实际的错误!因此,他们放下了日志,取了飞蛾,粘贴了下来并写下了以下内容

Skip to0 minutes and 38 secondswords: “first actual case of a bug being found”. And from that day onward we’ve been using the word bug to refer to glitches and flaws in any system. So why are bugs bad? Seriously? Besides making your life as a programmer miserable, they can have really dramatic consequences. In 1996 the launch of an Ariane 5 rocket failed due to a bug in the inertial reference system. 40 seconds after launch the rocket exploded … Just like with real bugs you want to prevent an infestation. So, it’s crucial that you adopt a defensive programming style to reduce the number of bugs in your code. In this MOOC will discuss professional tools and advanced techniques for debugging serial and parallel programs.

Skip to1 minute and 30 seconds因此,您将最大程度地减少用于查找和修复它们的时间和挫败感。

Skip to1 minute and 35 seconds欢迎来到我们的MOOC:“防御性编程和调试”

What topics will you cover?

  • 防御性编程:使用良好的编码样式,文档策略和良好的代码测试
  • 防止错误:如何使用编译器标志和静态代码检查器在早期识别错误
  • Finding bugs: debugging concepts and technics
  • Using the debugging tools GDB and Valgrind to fix serial programs
  • Debugging parallel code: using Intel Inspector and ITAC

When would you like to start?

立即开始,按照自己的速度学习。如果课程尚未开始,您将看到下面列出的未来日期。

  • Available now

在本课程中学习

如果您想在我们的教育工作者领导课程时参加,他们将在这些日期之间加入讨论:

  • 2022年4月22日- 2022年4月22日
  • 2022年4月29日- 2022年4月29日
  • 6 May 2022- 6 May 2022
  • 2022年5月13日- 2022年5月13日

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?

在课程结束时,您将能够...

  • 开发良好的书面软件代码
  • Produce clear and useful software documentation
  • Identify software bugs
  • Solve software bugs

谁是课程?

This is an intermediate level course aimed at people with some programming experience. Although examples will be given in C and Fortran, the principles (and most of the tools) are transferable to other programming languages.

Who will you learn with?

Since 2009 I'm an HPC consultant for the Flemish Supercomputer Center, doing support and training (also for PRACE and EuroCC). I've a PhD in physics and CS on topics in machine learning.

During my physics studies I got interested in research in computational physics/astrophysics. After several postdoctoral positions I joined VSC and I stay close to science by supporting our HPC users.

I have been for more than 20 years helping users to take the most of the HPC systems. Since 2013 I work at the HPC User Support Team at KU Leuven.

谁开发了课程?

Partnership for Advanced Computing in Europe (PRACE)

The Partnership for Advanced Computing in Europe (PRACE) is an international non-profit association with its seat in Brussels.

Vlaams Supercomputer Centre

The Flemish Supercomputer Center (Vlaams Supercomputer Centrum - VSC) is a partnership between the five Flemish universities and their university associations: Associatie Universiteit & Hogescholen Antwerpen, Universitaire Associatie Brussel, Associatie Universiteit Gent, Associatie KU Leuven and Associatie Universiteit-Hogescholen Limburg. This consortium brings together knowhow in scientific and technical computing in Flanders.

Recommended

学习方式

Buy this course

Subscribe to Unlimited

Join with limited access

Choose the best way to learn for you!

$ 89

One-off payment

from

$15.83/month

自动续订

自由

解锁您的专业知识 Access hundreds of courses 尝试本课程 - 有限
Access to this course tick tick 限制为5周
访问所有合格的课程 cross tick cross
Learn at your own pace tick tick cross
Discuss your learning in comments tick tick tick
Tests to check your learning tick tick cross
Certificate当你符合条件时 Printed and digital Digital only cross
Buy this course

学习方式

Subscribe to Unlimited 访问本课程以及一年的其他数百门课程或电竞博彩app有什么buy just this course 为了额外的好处。要么,join with limited access

Subscribe to Unlimited

from

$15.83/month

自动续订

Access hundreds of courses

  • Access to this course
  • 进入所有合格的短课程电竞博彩app有什么
  • Learn at your own pace
  • Discuss your learning in comments
  • Tests to boost your learning
  • 符合条件的数字证书

Buy this course

$ 89

One-off payment

解锁您的专业知识

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

Join with limited access

自由

先试后买

  • Limited access to course content for 5 weeks

了解更多有关证书,Unlimited orbuying a course (Upgrades)

Sale price available until25 April 2022 at 23:59 (UTC)T&Capply

了解更多有关证书,Unlimited orbuying a course (Upgrades)

Sale price available until25 April 2022 at 23:59 (UTC)T&Capply

在FutureLearn上学习

Your learning, your rules

  • 课程分为几周,活动和步骤,但是您可以根据自己的方式迅速或慢慢完成课程
  • 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

绘制您的进度

  • 当您完成课程时,请使用通知和进度页面来指导您的学习
  • Whenever you’re ready, mark each step as complete, you’re in control
  • 完成90%的课程步骤和所有评估以赢得您的证书

想进一步了解有关FutureLearn的学习吗?盖世电竞里钱如何提现

你知道一个会喜欢这门课程的人吗?告诉他们...

You can use the hashtag#FLdebugging to talk about this course on social media.