Develop both basic and advanced skills in C++ programming and learn how to build modern and robust applications.

Group of computer programmers working in the office. Focus is on blond woman showing something to her colleague on PC relating to code.

Discover the fundamentals of C++ programming

C++ is a multi-purpose programming language used for software engineering, operating systems, games development, and more for over four decades.

On this five-week course, you’ll be introduced to the fundamentals of programming in C++. You’ll learn to build a range of applications and gain the skills necessary to kickstart your career in programming.

Investigate the basics of Object-Oriented Programming (OOP)

C++ is one of the most popular object-oriented programming languages, a language founded in classes and objects rather than logic and functions.

By understanding the principles of C++ programming, you’ll be able to develop skills in other OOP languages, including Python, Java, Ruby, and PHP, enhancing your future employability.

Learn how C++ functions through project based learning

On this course, you’ll familiarise yourself with C++ concepts including variables, data types, operators, control statements, arrays, vectors, and functions.

You’ll then put your understanding of C++ operations into practice, building fun step-by-step projects. In doing so, you’ll gain the skills to create applications and be able to apply your knowledge in your choice of programming career.

Explore the Standard Template Library (STL)

The Standard Template Library contains C++ templates featuring data structures and functions commonly used in C++ programming.

You’ll gain an overview of the types of operations that can be carried out using the STL, allowing you to complete programming projects quickly and more efficiently.

By the end of this course, you’ll have a comprehensive understanding of the concepts and capabilities of C++ programming. You’ll be able to confidently create applications in C++ and be able to adapt your learning to complete projects in C++ and other OOP languages.

Skip to 0 minutes and 1 second SPEAKER: Want to get an A+ for your C++? With this 5-week course, you certainly can. Learn from C++ expert Dr. John Baugh as he guides you through this interactive course on programming. You will learn how to set up your IDE– Integrated Development Environment– code with the fundamentals of C++, work with exceptions, perform testing and debugging, create a coding project, all while using concepts of inheritance and object-oriented skills. Celebrate your C++ success. Learn at your own pace from anywhere in the world. Step into your future with how to programme in C++ from Packt and FutureLearn.

Syllabus

  • Week 1

    C++ Fundamentals

    • Welcome and introduction

      Welcome to How to program with C++ and the start of your learning journey, brought to you by Packt.

    • Getting started

      In this activity, you'll meet your instructor and set up Visual Studio, CodeBlocks and/or Visual Studio Code on your PC.

    • Introduction to C++

      In this activity, we'll be introduced to C++ and learn more about variables and data types.

    • Comments and operators

      In this activity, we'll learn more about working with comments and three types of operators.

    • Symbolic constants and user input

      In this activity, we'll explore symbolic constants, naming conventions and user input. You will have an opportunity to test the skills you have learned in three engaging projects.

    • Wrap up

      You have reached the end of Week 1. In this activity, you'll reflect on what you have learned.

  • Week 2

    Control statements, arrays and vectors

    • Introduction to Week 2

      Welcome to Week 2. In this activity, we'll highlight the main topics that will be covered this week.

    • Selection and repetition control statements

      In this activity, we'll be introduced to control statements and delve deeper into selection control statements and repetition control statements.

    • Break and continue statements and random numbers

      In this activity, we'll learn more about working with break and continue statements and random numbers. You will have an opportunity to practice the skills you have learned in three projects.

    • Built-in arrays, array class and vector class

      In this activity, we'll explore working with built-in arrays, the array class and the vector class.

    • Multi-dimensional arrays and projects

      In this activity, we'll explore working with multi-dimensional arrays. You will have an opportunity to test your skills in three engaging projects.

    • Wrap up

      You have reached the end of Week 2. In this activity, you'll reflect on what you have learned.

  • Week 3

    Functions, classes and objects

    • Introduction to Week 3

      Welcome to Week 3. In this activity, we'll highlight the main topics that will be covered this week.

    • Functions and parameter passing

      In this activity, we'll learn how to break problems down into reusable named pieces of code called functions. We will explore function prototypes and definitions, function return types, parameters and parameter passing.

    • Variable scope and lifetimes, function overloading, the <cmath> library and recursion

      In this activity, we'll learn more about variable scope and lifetimes, function overloading and the <cmath> library and recursion.

    • Projects 1

      In this activity, we'll have the opportunity to practice the skills we have learned in four engaging projects.

    • Object-oriented programming, encapsulation and separate compilation

      In this activity, we'll be introduced to object-oriented programming and learn more about encapsulation and separate compilation.

    • Constructors, deconstructors, a rectangle class and a book class

      In this activity, we''ll explore constructors and deconstructors as well as rectangle and book classes.

    • Projects 2

      In this activity, we'll have the opportunity to practice the skills we have learned in three engaging projects.

    • Wrap up

      You have reached the end of Week 3. In this activity, you'll reflect on what you have learned.

  • Week 4

    Exceptions, debugging, pointers and file input/output

    • Introduction to Week 4

      Welcome to Week 4. In this activity, we'll highlight the main topics that will be covered this week.

    • Introduction to exceptions and logic errors

      In this activity, we'll be introduced to exceptions and the exception hierarchy and learn more about logic errors.

    • Exceptions

      In this activity, we'll explore runtime errors, throwing exceptions, rethrowing exceptions and custom exceptions.

    • Basic testing and debugging

      In this activity, we'll explore basic testing and debugging. You will have an opportunity to test the skills you have learned in two engaging projects.

    • Pointers and dynamic memory

      In this activity, we'll be introduced to pointers and learn more about dynamic memory.

    • Const correctness

      In this activity, we'll learn more about const correctness and have the opportunity to test our skills in two engaging projects.

    • File input and output

      In this activity, we'll learn more about sequential file input and output as well as combining input and output.

    • Projects

      In this activity, we'll have an opportunity to test the skills we have learned in three engaging projects.

    • Wrap up

      You have reached the end of Week 4. In this activity, you'll reflect on what you have learned.

  • Week 5

    Object-oriented programming skills

    • Introduction to Week 5

      Welcome to Week 5. In this activity, we'll highlight the main topics that will be covered this week.

    • Inheritance

      In this activity, we'll learn about object-oriented programming and the syntax related to inheritance.

    • Using inheritance

      In this activity, we'll test our skills by creating new pointers and adding classes.

    • Build a project

      In this activity, we'll apply oour skills by building a project from scratch.

    • Building object-oriented skills

      In this activity, we'll continue to build our skills by exploring template libraries.

    • Pointers and classes

      In this activity, we'll explore how to manage friend classes and smart pointers.

    • Operators, dictionaries, and aliens

      In this activity, we'll have the opportunity to apply our new class-skills to projects.

    • Wrap up

      You have reached the end of this course. In this activity, you'll reflect on what you have learned.

When would you like to start?

Start straight away and join a global classroom of learners. If the course hasn’t started yet you’ll see the future date listed below.

Learning on this course

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?

By the end of the course, you‘ll be able to...

  • Describe the process of setting up your IDE on your PC.
  • Code using the fundamentals of C++, including variables, comments, operators, symbolic constants and user input.
  • Code using control statements, arrays and vectors.
  • Code using functions, classes and objects.
  • Demonstrate the ability to work with exceptions.
  • Perform testing and debugging processes on your code.
  • Apply the concept of pointers to relevant portions of code.
  • Apply the concepts of input and output to coding projects.
  • Create a coding project using concepts of inheritance.
  • Code using object-oriented skills.

Who is the course for?

This course is designed for aspiring programmers and software developers who want to learn the basics of OOP programming languages.

What software or tools do you need?

You’ll need access to the Visual Studio IDE (Integrated Development Environment) running on Windows, or Code::Blocks on MacOS and Linux. We’ll show you how to download and install those programs.

Who developed the course?

Packt

Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and information services to IT professionals.

FutureLearn

FutureLearn is a leading social learning platform and has been providing high quality online courses for learners around the world over the last ten years.

What's included?

This is a premium course. These courses are designed for professionals from specific industries looking to learn with a smaller group of like-minded individuals.

  • Unlimited access to this course
  • Includes any articles, videos, peer reviews and quizzes
  • Certificate of Achievement to prove your success when you're eligible
  • Download and print your Certificate of Achievement anytime

Still want to know more? Check out our FAQs

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • 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

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Do you know someone who'd love this course? Tell them about it...