Defensive Programming and Debugging (FutureLearn)

Defensive Programming and Debugging (FutureLearn)

Find out how to write clean and robust code. Explore techniques to minimise the number of bugs during development. Learn how to keep your code clean and bug-free. Identifying and fixing bugs in code often proves difficult. On this course, you’ll discover tools and techniques to minimise the number of bugs during software development.

Class Deals by MOOC List - Click here and see FutureLearn's Active Discounts, Deals, and Promo Codes.

You’ll learn how to catch bugs early using compiler features and writing tests for your code.
You’ll find out how to pinpoint bugs in your code using the best tools available including debuggers, code analysers and more.
You’ll 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 code that is clean, robust and easy to maintain.

What topics will you cover?

  • Defensive programming: the use of good coding style, documentation strategies and good code testing
  • Preventing bugs: how to use compiler flags and static code checkers to identify bugs in an early stage
  • 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

What will you achieve?
By the end of the course, you'll be able to...

  • Develop good writen software codes
  • Produce clear and useful software documentation
  • Indentify software bugs
  • Solve sofware bugs

Who is the course for?
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.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Programming Applications with Python: Graphics User Interface (GUI) (FutureLearn) FutureLearn
FutureLearn

Programming Applications with Python: Graphics User Interface (GUI) (FutureLearn)

Discover how to create a GUI using Python and start to explore creating APIs. Make a GUI application in Python. On this course, you’ll explore a common use for Python – how to create a successful GUI. GUIs are a crucial aspect of any web service, and knowing how to create one is a vital skill for furthering your career in programming.

May 23rd 2022
4 Weeks
Object-oriented Programming in Python: Create Your Own Adventure Game (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Object-oriented Programming in Python: Create Your Own Adventure Game (FutureLearn)

Learn object-oriented programming principles by creating your own text-based adventure game in Python. Object-oriented programming is a programming paradigm based on objects and data rather than actions and logic. This online course will introduce you to the principles of object-oriented programming in Python, showing you how to create objects, functions, methods, and classes.

Jan 2nd 2023
4 Weeks
Learn to Code for Data Analysis (FutureLearn) FutureLearn
The Open University

Learn to Code for Data Analysis (FutureLearn)

Software and data make the world go round. Learn programming, to analyse and visualise open data, with this free online course. This hands-on course will teach you how to write your own computer programs, one line of code at a time. You’ll learn how to access open data, clean it and analyse it and to produce visualisations. You will also learn how to write up and share your analyses, privately or publicly.

No sessions available
4 Weeks
Programming Applications with Python: Working with Files (FutureLearn) FutureLearn
FutureLearn

Programming Applications with Python: Working with Files (FutureLearn)

Discover how to read and create files and directories in Python, and how Python is used for data collection and exploration. Learn how to use Python create applications. On this course, you’ll start to develop the knowledge and skills needed to successfully launch a career in programming or software development, learning how to program applications using Python. You’ll study alongside industry experts at Github, giving you the confidence and competitive advantage to work in or manage development teams.

May 23rd 2022
4 Weeks
Using JavaScript, jQuery, and JSON in Django (FutureLearn) FutureLearn
University of Michigan

Using JavaScript, jQuery, and JSON in Django (FutureLearn)

Understand how to use JavaScript, jQuery and JSON within the Django framework. Learn how JavaScript supports the framework of Django. Django is a Python web framework that encourages fast development and a clean, pragmatic design. This comprehensive course will introduce you to the JavaScript language, and will show you how it supports Django’s framework.

Feb 22nd 2021
5-12 Weeks
Introduction to Quantitative Investing (FutureLearn) FutureLearn
Sungkyunkwan University - SKKU

Introduction to Quantitative Investing (FutureLearn)

Learn basics of financial economics and try its real life application using financial data and programming. Financial markets have become increasingly complex - it’s not easy to know where to start when it comes to investing. In today’s world the demand of accurate data-driven quantitative analysis across the world is steadily rising: it’s become crucial to understand and be able to use statistical and mathematical information accurately and promptly.

No sessions available
5-12 Weeks
Big Ideas in Programming: Expressing Yourself with Python (FutureLearn) FutureLearn
University of Michigan

Big Ideas in Programming: Expressing Yourself with Python (FutureLearn)

Harness the power of Python and its programming concepts to express yourself and automate the work you do. Learn the Python basics you need to create the content and projects you want. Coding and programming allow better work performance, across diverse professions. If you want to discuss ideas with programming professionals or develop the code yourself, you need to know the basics.

Sep 27th 2021
4 Weeks
Introduction to Programming with Scratch (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Introduction to Programming with Scratch (FutureLearn)

Discover the fundamentals of programming using the block-based programming language Scratch. Learn how to program your own animations and games. Scratch is a powerful, visual programming language that provides a great introduction to the world of programming. By snapping blocks together, you can create amazing animations and games. Over this four-week course, you’ll learn how to navigate the Scratch programming environment, create your own programs, and share your creations.

Feb 14th 2022
4 Weeks
Prepare for a Software Development Career (FutureLearn) FutureLearn
FutureLearn

Prepare for a Software Development Career (FutureLearn)

Review everything you need to know about Java and Python to start a career as a software developer. Cement your foundational knowledge of Python and Java and kickstart your career in software development. You’ll apply object-oriented programming principles to Java, and go deeper on methods, constructors, strings, inheritance, classes, and collection.

Self Paced
4 Weeks
Software Development: Introducing Java (FutureLearn) FutureLearn
FutureLearn

Software Development: Introducing Java (FutureLearn)

Explore how Java can help support your software development career and learn its basic uses and functions. Becoming a software developer requires you to confidently use programming languages such as Python and Java to design, build, and fix software. This course is designed to build your existing Python knowledge and introduce you to Java and its applications within the development environment.

Self Paced
4 Weeks
Software Development Basics (FutureLearn) FutureLearn
FutureLearn

Software Development Basics (FutureLearn)

Learn the basics of HTML code, gain expert insights into web development, and decide if the industry is right for you. Kick-start your career in web-based software development. The web design and development industry is growing exponentially and offers several exciting employment opportunities. Many people perceive this field as too complex, assume they won’t understand the material and therefore don’t consider it as a viable job prospect.

Self Paced
4 Weeks
Begin Programming: Build Your First Mobile Game (FutureLearn) FutureLearn
University of Reading

Begin Programming: Build Your First Mobile Game (FutureLearn)

Learn basic Java programming by developing a mobile game that you can run on your computer, Android phone or tablet. Take your first steps into the world of computer programming and learn how to build your own mobile game in just five weeks. You’ll be introduced to the basic constructs and the principles behind computer programs, as well as the building blocks that are used to create them.

No sessions available
5-12 Weeks