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

Introduction to VR Programming, Design, and Unity (FutureLearn) FutureLearn
VR Voom

Introduction to VR Programming, Design, and Unity (FutureLearn)

Step into the world of VR game development, learn the basics of programming language, and even create your own 2D game. Learn how to design, program, and create your very own VR games. The gaming industry has grown exponentially, outperforming both movies and sports combined in 2020. And VR is the newest, exciting innovation taking the industry by storm.

Jun 27th 2022
5-12 Weeks
Programming Applications with Python: Libraries and Web Scraping (FutureLearn) FutureLearn
FutureLearn

Programming Applications with Python: Libraries and Web Scraping (FutureLearn)

Consider applications for APIs and Python, and explore the purpose of web scraping. Examine Python libraries for web development. This course will introduce you to the popular Requests library in Python. You’ll study how to install the Requests library and get to know how it works. Learning via videos, interactive exercises, and quizzes, you’ll also explore what HTTP requests are and what each of the status codes in HTTP mean.

May 23rd 2022
4 Weeks
Understanding Maths and Logic in Computer Science (FutureLearn) FutureLearn
Raspberry Pi Foundation

Understanding Maths and Logic in Computer Science (FutureLearn)

Improve your understanding and ability to teach maths and logic in computing while building elements of an escape room. Become more familiar with maths and logic in computer science. The mathematical aspects of computer science can be difficult to understand and teach. On this course, you will be introduced to maths and logic in computing in an engaging way.

Nov 1st 2021
3 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
Teaching Programming in Primary Schools (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Teaching Programming in Primary Schools (FutureLearn)

Understand key programming concepts and apply them using Scratch, with this introductory course for primary or K-5 teachers. This free online course will provide a comprehensive introduction to programming, designed for non-subject-specialist primary or K-5 teachers.

No sessions available
4 Weeks
Intermediate Python (FutureLearn) FutureLearn
University of California, Irvine

Intermediate Python (FutureLearn)

Develop your programming skills and learn the dynamic semantics of Python as an object-oriented programming language. Build your Python programming skills. On this six-week course from the University of California, Irvine, you’ll gain basic computer science knowledge to help you become more efficient with Python programming, focusing on the data-science applications of programming concepts.

Nov 29th 2021
5-12 Weeks
Functional Programming in Haskell: Supercharge Your Coding (FutureLearn) FutureLearn
University of Glasgow

Functional Programming in Haskell: Supercharge Your Coding (FutureLearn)

Get an introduction to Haskell, the increasingly popular functional programming language, with this University of Glasgow course. Do you want to develop software using the latest programming language paradigm? Haskell is a functional programming language, based on formal mathematical principles. As such, it is easy to reason about and develop, and it executes efficiently on modern multicore machines. From investment banks to social networks, everyone is adopting Haskell.

Self Paced
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
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
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
Teaching Physical Computing to 5-11 year olds (FutureLearn) FutureLearn
Raspberry Pi Foundation,National Centre for Computing Education

Teaching Physical Computing to 5-11 year olds (FutureLearn)

Teach your young learners how to create electronic circuits, then learn to control them using block-based programming languages. Learn how to create physical computing projects using a Crumble or micro:bit. Physical computing is the process of designing, building, and programming systems that use physical components such as buttons, lights, and motors.

Mar 6th 2023
3 Weeks
Video Game Design and Development: Introduction to Game Programming (FutureLearn) FutureLearn
Abertay University

Video Game Design and Development: Introduction to Game Programming (FutureLearn)

Discover the essentials of video game programming and learn how you can start your own programming career. Learn the basics of game development to understand how great games are designed. Video games have become a multi-billion-dollar industry, even recently overshadowing cinema as the globe’s go-to entertainment medium of choice.

Jun 28th 2021
2 Weeks