Instructional Video6:01
Curated Video

Multi-Paradigm Programming with Modern C++ - Managing Memory

Higher Ed
Classes in a hierarchy are almost always allocated on the heap. Managing memory manually is error prone. STL provides a set of smart pointers that make the task easier. • About RAII design pattern • Why prefer smart pointers to raw...
Instructional Video3:09
Curated Video

Multi-Paradigm Programming with Modern C++ - What Makes a Good Interface

Higher Ed
Application programming interfaces are to programmer what UI is to the end user. Creating good interfaces improves modularity and promotes code reuse. • What is an API and why we need it? • What makes a good API? • How to design a good...
Instructional Video10:29
Programming Electronics Academy

Using tabs to organize code with the Arduino IDE

Higher Ed
Did you know in the Arduino IDE that you can organize your code using different tabs? In this lesson, you’re gonna learn how to add these tabs, how they get organized in the Arduino sketch folder and how to use them in order to better...
Instructional Video5:21
Curated Video

Multi-Paradigm Programming with Modern C++ - Instantiating the Template

Higher Ed
When we use a template, we instantiate it. Let’s create a type that performs fixed-point arithmetic, parameterized with templates. Then let’s support that type in our math library • Developing a fixed-point math class • Adding arithmetic...
Instructional Video5:27
Curated Video

Multi-Paradigm Programming with Modern C++ - Arguments and Return Values

Higher Ed
How many arguments should a function have, and how to pass them properly? There are simple ways for making the functions even better. • How many arguments? • Passing by value, by reference and by pointer • Return values and other tips...
Instructional Video3:30
Curated Video

Creational Design Patterns in Modern C++ - Memory Management

Higher Ed
This video demonstrates how to modify your implementation to use smart pointers to avoid the manual memory management. This clip is from the chapter "Prototype" of the series "Creational Design Patterns in Modern C++".This video provides...
Instructional Video7:36
Curated Video

Multi-Paradigm Programming with Modern C++ - Parallel STL

Higher Ed
C++17 has introduced parallel STL. Many of the existing algorithms can now be executed in parallel. Parallelism can be enabled by specifying execution policies. In this video we will learn how existing algorithms can be parallelized with...
Instructional Video6:36
Curated Video

Multi-Paradigm Programming with Modern C++ - In Search of a Perfect Container

Higher Ed
STL provides many containers, many of them similar. When to use std::vector, and when std::list? This video provides some answers. • Contiguous storage: array and vector • Details of std::vector, and why prefer vectors over lists •...
Instructional Video6:14
Curated Video

Multi-Paradigm Programming with Modern C++ - Designing Class Hierarchies

Higher Ed
Inheritance is one of the cornerstone features of object-oriented design. We use it to represent a set of hierarchically organized concepts. How to design a good hierarchy? • Drawing a hierarchy • When to use inheritance and when to...
Instructional Video8:48
Curated Video

Multi-Paradigm Programming with Modern C++ - Writing Our First Coroutine

Higher Ed
Writing a coroutine framework is not as simple as writing a function. In this video, we will try to create the simplest coroutine possible. This coroutine will do nothing useful, but we will implement all the required elements. • Writing...
Instructional Video7:07
Curated Video

Multi-Paradigm Programming with Modern C++ - On Programming Paradigms

Higher Ed
C++ is a multi-paradigm programming language. We learn about different paradigms (styles), and how C++ supports them. • Programming styles supported by C++ • Criticism of C++ • Your C++ knowledge as a toolbox This clip is from the...
Instructional Video6:32
Curated Video

Multi-Paradigm Programming with Modern C++ - Specializing the Template

Higher Ed
Our “equal” function uses an epsilon to compare values. This works well with floating point types, but it’s inefficient for fixed point. We can try to specialize the function template, but how to do this in a generic way? • The problem...
Instructional Video8:01
Curated Video

Multi-Paradigm Programming with Modern C++ - Shared Pointer

Higher Ed
Shared_ptr is a reference-counting smart pointer. It’s less efficient than unique_ptr, but lets us forget about complexities of memory management, and helps avoid double delete bugs. • How shared_ptr works • Using shared_ptr and...
Instructional Video5:46
Curated Video

Multi-Paradigm Programming with Modern C++ - Putting It All Together

Higher Ed
In this video we will see how useful the new coroutine framework is. We will take the example from Section 9, where we first calculate the average value, then use that value to find standard deviation and items above average in parallel....
Instructional Video5:29
Packt

Using Object.create

Higher Ed
Object Oriented JavaScript - ES5 & ES2015: Using Object.create This clip is from the chapter "Object Oriented JavaScript - ES5 & ES2015" of the series "Modern JavaScript from the Beginning".In this section, you will learn the object...
Instructional Video3:09
Curated Video

Multi-Paradigm Programming with Modern C++ - Manipulating Data

Higher Ed
Real-world programs manipulate data in numerous ways. You will need filtering, conversions, transformations, and so on. There is always a temptation to write a loop, but STL algorithms are preferable. • How many ways are there to write a...
Instructional Video5:11
Curated Video

Multi-Paradigm Programming with Modern C++ - Data Access Modes

Higher Ed
It’s easy to use multiple threads in modern C++. Writing safe multi-threaded code, on the other hand, is not easy. The difficult part is accessing data. • Four modes of concurrent data access • Example of race condition • About...
Instructional Video7:45
Curated Video

Multi-Paradigm Programming with Modern C++ - What Makes a Good Function

Higher Ed
A function should perform a single logical operation. Small functions are easy to maintain and promote code reuse. The most common anti-pattern is a function that does too many things. • Why small functions are good? • How small should a...
Instructional Video9:32
Curated Video

Multi-Paradigm Programming with Modern C++ - Constructors and Destructors

Higher Ed
Constructors, destructors, and assignment operators are all about object’s lifetime. Sometimes they are automatically generated, sometimes not. This video, provides instructions on how to deal with them. • The rule of zero: Stick to the...
Instructional Video6:10
Curated Video

Creational Design Patterns in Modern C++ - Prototype Manager - Part I

Higher Ed
This video is the first part of the two-part video that demonstrates how to implement the prototype manager. This clip is from the chapter "Prototype" of the series "Creational Design Patterns in Modern C++".This video provides an...
Instructional Video5:51
Curated Video

Multi-Paradigm Programming with Modern C++ - Entering Concepts

Higher Ed
Templates make poor interfaces: typename is a wildcard. Concepts let us set requirements for template parameters. Template writer can easily describe what’s expected of the user. Concepts make template interface good. • About concepts:...
Instructional Video6:31
Curated Video

Multi-Paradigm Programming with Modern C++ - Using Lambdas

Higher Ed
In this coding demo, we use lambda expressions to implement callbacks, for adding logger capability to the server, without increasing coupling. • About callbacks • Std::function • Using callbacks to implement logging in the server...
Instructional Video11:00
Curated Video

Multi-Paradigm Programming with Modern C++ - Dual Hierarchy Example

Higher Ed
In this video we implement a dual hierarchy for server applications supporting multiple protocols • Overview of what we will implement • Implementing a hierarchy of servers • What we learned by implementing the hierarchy? This clip is...
Instructional Video5:11
Brainwaves Video Anthology

Alejandra Cabrera - Teaching in the Global Pandemic - Mexico

Higher Ed
Alejandra Cabrera is a professor at Paccioli Xalapa University in Mérida, Yucatán, Mexico.