We may earn an affiliate commission when you visit our partners.
Pluralsight logo

C++20 Algorithms Playbook

Kate Gregory

If the C++ Standard Library seems intimidating, try getting started with it through the header. This course will teach you how to find pre-written functions that will speed up your development.

Read more

If the C++ Standard Library seems intimidating, try getting started with it through the header. This course will teach you how to find pre-written functions that will speed up your development.

The C++ Standard Library is large and powerful. Many C++ developers avoid it, and write things by hand instead. That’s slower and harder work. In this course, C++20 Algorithms Playbook, you’ll learn to use the functions in to get your work done quickly and safely. First, you'll discover simple examples where using an algorithm is more expressive and easier than writing a loop yourself. Next, you'll explore searching and sorting a collection, transforming elements of a collection, and copying part of one collection to another. Finally, you'll see how to combine algorithms to complete complex tasks without writing complex code. When you’re finished with this course, you’ll have the skills and knowledge of the standard header needed to write clearer and better code with less effort and time spent.

Enroll now

What's inside

Syllabus

Course Overview
Standard Library Philosophy and Approach
Counting and Finding
Sorting
Read more
Comparing and Accumulating
Copying and Moving
Transforming
Generating and Manipulating
Conventions

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides an introduction to C++ Standard Library's header, which includes functions that improve code efficiency
Shares expertise with the guidance of qualified instructors, Kate Gregory
Empowers learners with practical skills to tackle real-world development challenges
Covers comprehensive concepts, including searching, sorting, transforming, and more, providing a well-rounded understanding of standard header usage in C++
Emphasizes time-saving and efficiency in software development through the use of pre-written functions

Save this course

Save C++20 Algorithms Playbook to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in C++20 Algorithms Playbook with these activities:
Review and organize course notes and materials
Enhance your understanding and retention by organizing and reviewing course materials, including notes, assignments, and quizzes.
Show steps
  • Gather all course materials.
  • Review and summarize key concepts.
  • Organize materials into a logical structure.
Follow the C++ Standard Library Tutorial by LearnCPP.com
Complement your learning by following an external tutorial that provides a comprehensive overview of the C++ Standard Library, expanding your knowledge and solidifying your understanding.
Browse courses on C++ Standard Library
Show steps
  • Visit the LearnCPP.com website.
  • Follow the C++ Standard Library Tutorial.
  • Complete the exercises and practice problems provided in the tutorial.
Read "Effective C++" by Scott Meyers
Explore common pitfalls in C++ programming and learn techniques to avoid them, improving the quality of your code and solidifying your understanding of the language.
Show steps
  • Obtain a copy of the book.
  • Read the book thoroughly, taking notes as you go.
  • Apply the techniques you learn to your own C++ projects.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Solve LeetCode problems
Practice solving algorithmic problems commonly encountered in C++ development, enhancing your problem-solving skills and solidifying your understanding of core algorithms and data structures.
Browse courses on Algorithms
Show steps
  • Create a LeetCode account.
  • Start solving easy problems and gradually move on to harder ones.
  • Review solutions and explanations to improve your understanding.
Read "Modern C++ Programming Cookbook" by Marius Bancila
Explore advanced C++ concepts and techniques, including modern libraries and features, to enhance your understanding and expand your programming skills.
Show steps
  • Obtain a copy of the book.
  • Read the book thoroughly, taking notes as you go.
  • Experiment with the techniques and examples provided in the book.
Create a C++ program that uses the Standard Library algorithms
Apply your knowledge of algorithms and the C++ Standard Library by building a practical project, solidifying your understanding and gaining hands-on experience.
Browse courses on Algorithms
Show steps
  • Plan and design your project.
  • Implement the project using algorithms from the C++ Standard Library.
  • Test and debug your project.
  • Refine and improve your project based on testing results.
Write a blog post on C++ algorithms
Summarize and explain the concepts and techniques covered in the course, reinforcing your understanding and developing your ability to communicate technical concepts clearly.
Browse courses on Algorithms
Show steps
  • Choose a specific algorithm or technique from the course.
  • Write a detailed explanation of the algorithm or technique, including examples.
  • Publish your blog post on a platform like Medium or Dev.to.
Attend a C++ workshop or conference
Expand your knowledge and connect with experts by attending a workshop or conference focused on C++ algorithms, gaining insights and best practices from industry professionals.
Show steps
  • Research and identify relevant workshops or conferences.
  • Register for the event.
  • Attend the event and actively participate in sessions and discussions.

Career center

Learners who complete C++20 Algorithms Playbook will develop knowledge and skills that may be useful to these careers:
Data Scientist
Data scientists use scientific methods to extract knowledge and insights from data. They work on a variety of tasks, such as data mining, machine learning, and statistical modeling. A course in C++20 algorithms can be useful for data scientists as it can help them develop the skills needed to efficiently process and analyze data. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for data scientists.
Machine Learning Engineer
Machine learning engineers design and develop machine learning models. They work on a variety of projects, such as natural language processing, computer vision, and speech recognition. A course in C++20 algorithms can be useful for machine learning engineers as it can help them develop the skills needed to efficiently train and deploy machine learning models. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for machine learning engineers.
Operations Research Analyst
Operations research analysts use mathematical and analytical methods to solve problems in business and industry. They work on a variety of projects, such as supply chain management, logistics, and healthcare. A course in C++20 algorithms can be useful for operations research analysts as it can help them develop the skills needed to efficiently solve complex problems. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for operations research analysts.
Statistician
Statisticians use statistical methods to collect, analyze, and interpret data. They work on a variety of projects, such as data analysis, data mining, and machine learning. A course in C++20 algorithms can be useful for statisticians as it can help them develop the skills needed to efficiently process and analyze data. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for statisticians.
Software Engineer
Software engineers design, develop, test, and maintain software applications. They work on a variety of projects, from small personal projects to large enterprise systems. A course in C++20 algorithms can be useful for software engineers as it can help them develop the skills needed to write efficient and reliable code. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for software engineers.
Data Analyst
Data analysts use data to make informed decisions. They work on a variety of projects, such as data visualization, data mining, and machine learning. A course in C++20 algorithms can be useful for data analysts as it can help them develop the skills needed to efficiently process and analyze data. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for data analysts.
Web Developer
Web developers design and develop websites and web applications. They work on a variety of projects, from small personal websites to large enterprise web applications. A course in C++20 algorithms can be useful for web developers as it can help them develop the skills needed to write efficient and reliable code. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for web developers.
Data Engineer
Data engineers build, maintain, and review data infrastructure. They ensure that data is secure, reliable, and accessible to meet the needs of an organization. This can involve working on data integration, data transformation, and data analytics. A course in C++20 algorithms can be useful for data engineers as it can help them develop the skills needed to efficiently process and manipulate large amounts of data. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for data engineers.
Quantitative Analyst
Quantitative analysts use mathematical and statistical methods to analyze financial data. They develop models to predict future trends and make investment decisions. A course in C++20 algorithms can be useful for quantitative analysts as it can help them develop the skills needed to efficiently process and analyze large amounts of data. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for quantitative analysts.
Actuary
Actuaries use mathematical and statistical methods to assess risk and uncertainty. They work on a variety of projects, such as insurance, pensions, and investments. A course in C++20 algorithms can be useful for actuaries as it can help them develop the skills needed to efficiently process and analyze large amounts of data. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for actuaries.
Computer Scientist
Computer scientists design and develop computer systems and software. They work on a variety of projects, from small personal projects to large enterprise systems. A course in C++20 algorithms can be useful for computer scientists as it can help them develop the skills needed to write efficient and reliable code. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for computer scientists.
Biostatistician
Biostatisticians use statistical methods to design and analyze studies in the biological and medical sciences. They work on a variety of projects, such as clinical trials, drug development, and public health. A course in C++20 algorithms can be useful for biostatisticians as it can help them develop the skills needed to efficiently process and analyze large amounts of data. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for biostatisticians.
Software Developer
Software developers design, develop, test, and maintain software applications. They work on a variety of projects, from small personal projects to large enterprise systems. A course in C++20 algorithms can be useful for software developers as it can help them develop the skills needed to write efficient and reliable code. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for software developers.
Systems Analyst
Systems analysts design and develop computer systems. They work on a variety of projects, from small personal projects to large enterprise systems. A course in C++20 algorithms can be useful for systems analysts as it can help them develop the skills needed to design and develop efficient and reliable systems. For example, the course covers sorting, searching, and transforming data, which are all essential tasks for systems analysts.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in C++20 Algorithms Playbook.
Provides additional insight into idiomatic C++ programming and nuances of the C++ programming language. It would be valuable to read this in conjunction with this course.
Provides insight into the C++ template metaprogramming features that underpin many STL components, allowing for greater customization and flexibility in your code.
Provides a series of programming puzzles and challenges that explore advanced C++ programming concepts. These challenges are particularly useful for developing a deeper understanding of the C++ Standard Library, especially for those with prior C++ programming experience.
The definitive reference on the C++ programming language, providing a comprehensive overview of the language's features and design.
Provides guidance on best practices and coding standards for C++ projects, helping to ensure your code is maintainable, efficient, and adheres to industry best practices.
Provides specific guidance on how to effectively use the STL in your C++ code.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser