C++ is one of the most used programming languages in the world, it is used in space, powers our financial systems and runs in embedded devices like your smartphone, controllers for your microwave and life-critical medical devices. C++ has established itself as a versatile programming language since its creation in early 1980. Yet it continues to improve with new features at a steady pace.
One of the core ideas in C++ is that you should only need to pay a price for the features you are using. This allows you to do optimizations that would not be possible with other high-level programming languages., for example guaranteeing hard real-time constraints in an embedded system. But, you also need to be stringent in how you structure your code to ensure your system stays flexible and efficient.
The C++ standard is huge and there are lots of quirks that don’t matter. In Edument’s C++ courses we focus on the knowledge that will make you a better programmer on a day to day basis. We emphasize modern guidelines and go through their underlying motivations.
In our C++ courses, we also look at how a modern processor works. We then use this as a base for how to structure your program so you get better performance when new hardware becomes available.
Edument has the courses you need for expanding your knowledge in the C++ domain. Our course authors have broad experience with large real-world projects used in millions of devices. They have worked with low-level assembly optimizations to high-level interfaces for third-party developers.
Courses in C++
In this course we learn to identify what calculations to perform on the GPU and learn to implement GPU algorithms in C++ using NVIDIA CUDA.
Do you want to learn about the newest C++ standards and take your C++ programming to the next level? Our course Advanced C++ focuses on how to leverage new features from the modern versions of C++. This course will ensure that you are following the best patterns and practices, so you can write code that evolves easily into the future.
Computationally intensive work is often best solved by moving to parallel processing, to take advantage of multiple cores. For a subset of these problems we can get a huge improvement in performance by performing the computations on the graphics card, this is called General Purpose Processing on Graphics Processing Units (GPGPU). In this course we learn to identify what calculations to perform on the GPU and learn to implement GPU algorithms in C++ using Microsoft AMP (Accelerated Massive Parallelism).
In this course we use Microsoft PPL (Parallel Patterns Library) for providing us with this high level abstraction and investigate how we can use PPL for implementing concurrent algorithms with high performance. We learn when to use concurrent programming and how to spot and fix concurrency issues, both for correctness and performance.
News & feeds
Priority queues in Java and PythonRead more
How do you talk about a "priority queue", a queue data structure where elemens get to "cut in line" if they're important? In this article, we'll compare the (quite different) answers from Java and Python standard libraries.
How to install RavenDB on a VM in Azure (step-by-step, part 1)Read more
This is a guide for you who want to work with document databases. I describe how I got RavenDB to work on a regular Windows Server 16 virtual machine which in turn runs in the Azure cloud.
How to install RavenDB on a VM in Azure (step-by-step, part 2)Read more
A guide in three parts, this is the second part.
How to install RavenDB on a VM in Azure (step-by-step, part 3)Read more
This is a guide in three parts. In this third part, we show how you import a certificate.
New courses - Azure, Spring Boot och ScalaRead more
Now that spring has really started, it is time to release 4 new courses!