We may earn an affiliate commission when you visit our partners.
Andy Brown, Andrew Paster, Anthony Navarro, Tarin Ziyaee, Elecia White, Cezanne Camacho, and Sebastian Thrun
Explore how to write good code that runs correctly. We’ll focus primarily on low level features of C++, but we’ll discuss other best practices as well.

What's inside

Syllabus

Optimizing C++ involves understanding how a computer actually runs your programs. You'll learn how C++ uses the CPU and RAM to execute your code and get a sense for what can slow things down.
Now you understand how C++ programs execute. It's time to learn specific optimization techniques and put them into practice. This lesson will prepare you for the lesson's code optimization project.
Get ready to optimize some C++ code. You are provided with a working 2-dimensional histogram filter; your job is to get the histogram filter code to run faster!

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops programming skills and foundational C++ knowledge, which are core skills for software developers
Led by instructors Sebastian Thrun and Andy Brown, who are recognized for their work in artificial intelligence and software development
Examines the specifics of C++ optimization, which is highly relevant for Software Developers and Engineers
Teaches specific optimization techniques and puts them into practice through code optimization project

Save this course

Save Performance Programming in C++ 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 Performance Programming in C++ with these activities:
Review 'Effective C++' by Scott Meyers
Gain insights into best practices and techniques for writing effective C++ code by reviewing this authoritative book.
Show steps
  • Read and understand the concepts and techniques presented in the book.
  • Apply the learnings to your own C++ coding projects.
  • Summarize the key takeaways and share them with others.
Participate in C++ Optimization Study Group
Engage with peers, share insights, and practice C++ optimization techniques in a collaborative environment.
Browse courses on Code Optimization
Show steps
  • Find or join a study group focused on C++ optimization.
  • Attend regular study group meetings.
  • Actively participate in discussions and code reviews.
  • Work together on optimization challenges.
Practice C++ Code Optimization Techniques
Reinforce your understanding of C++ optimization techniques by practicing them on real-world code.
Browse courses on Performance Tuning
Show steps
  • Review the provided C++ code.
  • Identify potential areas for optimization.
  • Apply the learned optimization techniques to improve the code's performance.
  • Test and evaluate the optimized code.
Three other activities
Expand to see all activities and additional details
Show all six activities
Create a Visual Guide to C++ Optimizations
Solidify your knowledge and help others by creating a visual guide that explains different C++ optimization techniques.
Browse courses on Performance Tuning
Show steps
  • Gather information and resources on C++ optimization techniques.
  • Design and plan the structure of your visual guide.
  • Create visual content (e.g., diagrams, charts, screenshots).
  • Write explanatory text and captions.
  • Review and refine your visual guide based on feedback.
Attend a C++ Performance Optimization Workshop
Gain hands-on experience and learn from experts in the field by attending a C++ performance optimization workshop.
Browse courses on Performance Tuning
Show steps
  • Research and select a reputable C++ performance optimization workshop.
  • Register and attend the workshop.
  • Actively participate in the workshop activities.
  • Apply the learnings to your own C++ projects.
Build a C++ Application with Optimized Code
Apply your understanding of C++ optimization techniques by building a real-world application with optimized code.
Browse courses on Code Optimization
Show steps
  • Identify a suitable project idea that aligns with your learning goals.
  • Design and plan the architecture of your application.
  • Implement the application using optimized C++ code.
  • Test and evaluate the performance of your application.
  • Document your project and share your learnings.

Career center

Learners who complete Performance Programming in C++ will develop knowledge and skills that may be useful to these careers:
Computer and Information Research Scientist
Computer and Information Research Scientists are innovators who optimize computer systems, design new technologies, and create software. They play a crucial role in advancing fields like data science, artificial intelligence, and robotics. The Performance Programming in C++ course is very relevant to this role, as it provides a deep understanding of how C++ programs execute and how to optimize them for better performance. This knowledge is essential for research scientists who need to develop efficient algorithms and software solutions.
Game Programmer
Game Programmers design and develop video games. They work on all aspects of game development, from creating the game engine to developing the game's graphics and gameplay. The Performance Programming in C++ course is very relevant to this role, as it provides a deep understanding of how C++ programs execute and how to optimize them for better performance. This knowledge is essential for Game Programmers who need to develop games that run smoothly and efficiently.
Embedded Systems Engineer
Embedded Systems Engineers design and develop embedded systems. These systems are found in a wide range of devices, from cars to medical devices. The Performance Programming in C++ course is very relevant to this role, as it provides a deep understanding of how C++ programs execute and how to optimize them for better performance. This knowledge is essential for Embedded Systems Engineers who need to develop systems that are efficient and reliable.
Computer Hardware Engineer
Computer Hardware Engineers design and develop computer hardware. They work on all aspects of hardware development, from designing the circuit boards to testing the finished product. The Performance Programming in C++ course is very relevant to this role, as it provides a deep understanding of how C++ programs execute and how to optimize them for better performance. This knowledge is essential for Computer Hardware Engineers who need to develop hardware that is efficient and reliable.
Software Engineer
Software Engineers design, develop, and maintain software applications. They work on a wide range of projects, from small mobile apps to large enterprise systems. The Performance Programming in C++ course can be useful for Software Engineers who want to improve the performance of their applications. The course covers topics such as optimizing C++ code, understanding how C++ programs execute, and specific optimization techniques. This knowledge can help Software Engineers write code that runs faster and more efficiently.
Data Scientist
Data Scientists use data to solve business problems. They collect, clean, and analyze data to identify trends and patterns. The Performance Programming in C++ course may be useful for Data Scientists who want to improve the performance of their data analysis pipelines. The course covers topics such as optimizing C++ code, understanding how C++ programs execute, and specific optimization techniques. This knowledge can help Data Scientists write code that runs faster and more efficiently, which can lead to faster and more accurate results.
Systems Analyst
Systems Analysts design and implement computer systems. They work with users to understand their needs and develop systems that meet those needs. The Performance Programming in C++ course may be useful for Systems Analysts who want to improve the performance of the systems they design and implement. The course covers topics such as optimizing C++ code, understanding how C++ programs execute, and specific optimization techniques. This knowledge can help Systems Analysts design and implement systems that are faster and more efficient.
Database Administrator
Database Administrators manage and maintain databases. They ensure that databases are running smoothly and efficiently. The Performance Programming in C++ course may be useful for Database Administrators who want to improve the performance of their databases. The course covers topics such as optimizing C++ code, understanding how C++ programs execute, and specific optimization techniques. This knowledge can help Database Administrators write code that runs faster and more efficiently, which can lead to better database performance.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data. They develop trading strategies and risk management systems. The Performance Programming in C++ course may be useful for Quantitative Analysts who want to improve the performance of their models and systems. The course covers topics such as optimizing C++ code, understanding how C++ programs execute, and specific optimization techniques. This knowledge can help Quantitative Analysts write code that runs faster and more efficiently, which can lead to better trading decisions and risk management.
Network Engineer
Network Engineers design, implement, and maintain computer networks. They ensure that networks are running smoothly and efficiently. The Performance Programming in C++ course may be useful for Network Engineers who want to improve the performance of their networks. The course covers topics such as optimizing C++ code, understanding how C++ programs execute, and specific optimization techniques. This knowledge can help Network Engineers write code that runs faster and more efficiently, which can lead to better network performance.
Security Analyst
Security Analysts protect computer systems from security breaches. They develop and implement security measures to prevent unauthorized access to data. The Performance Programming in C++ course may be useful for Security Analysts who want to improve the performance of their security systems. The course covers topics such as optimizing C++ code, understanding how C++ programs execute, and specific optimization techniques. This knowledge can help Security Analysts write code that runs faster and more efficiently, which can lead to better security.
Technical Writer
Technical Writers create documentation for software and hardware products. They write user manuals, technical reports, and other documents that help users understand and use products. The Performance Programming in C++ course may be useful for Technical Writers who want to learn more about C++ and how it can be used to develop high-performance software. This knowledge can help Technical Writers write documentation that is accurate and informative, even for complex technical topics.
Product Manager
Product Managers are responsible for the success of a product. They work with engineers, designers, and marketers to bring a product to market and ensure that it meets the needs of customers. The Performance Programming in C++ course may be useful for Product Managers who want to learn more about C++ and how it can be used to develop high-performance software. This knowledge can help Product Managers make better decisions about the features and design of their products.
Business Analyst
Business Analysts help businesses improve their operations. They analyze business processes and identify areas for improvement. The Performance Programming in C++ course may be useful for Business Analysts who want to learn more about C++ and how it can be used to develop software solutions for businesses. This knowledge can help Business Analysts develop better solutions that are more efficient and effective.
Entrepreneur
Entrepreneurs start and run their own businesses. They develop and market products or services that they believe will be successful. The Performance Programming in C++ course may be useful for Entrepreneurs who want to learn more about C++ and how it can be used to develop software for their businesses. This knowledge can help Entrepreneurs develop better products and services that are more efficient and effective.

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 Performance Programming in C++.
The classic book on C++, this book provides a comprehensive overview of the language and valuable reference for anyone looking to learn or improve their C++ programming skills.
Provides a comprehensive overview of modern C++ performance programming techniques and valuable resource for anyone looking to improve the performance of their C++ code.
Provides a collection of practical tips and techniques for writing better C++ code and valuable resource for anyone looking to improve their C++ programming skills.
Provides a comprehensive overview of C++ templates and valuable resource for anyone looking to learn or improve their C++ programming skills.
Provides a set of coding standards and best practices for C++ development and useful reference for anyone looking to improve the quality and maintainability of their C++ code.
Provides a collection of challenging C++ programming puzzles and problems and valuable resource for anyone looking to improve their C++ programming skills.
Provides a collection of challenging C++ programming puzzles and problems and valuable resource for anyone looking to improve their C++ programming skills.
Provides a comprehensive overview of C++ concurrency and valuable resource for anyone looking to write concurrent and parallel C++ code.
Provides a practical introduction to C++ and valuable resource for anyone looking to learn or improve their C++ programming skills.

Share

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

Similar courses

Here are nine courses similar to Performance Programming in C++.
Create Mapping Data Flows in Azure Data Factory
Visual Analytics with Tableau
Teradata: Improving Analysis and Storage
Neural Networks and Random Forests
Linux User Management Deep Dive
Sequence Models for Time Series and Natural Language...
Reporting Use of Firm Resources and Taxation
Advanced AI Techniques for the Supply Chain
Unreal Engine 5 C++: Advanced Action RPG
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