Do you know enough C to attend the Fundamentals of SystemC or the Fundamentals of SystemC Online course?
You need to be able to write C++ programs using const, namespaces, references, streaming I/O, ranged forloops, uniform initialization, templated classes, overloaded operators, lambdas, constructors, and destructors.
Ask yourself whether you could write a C++ program to do the following:
1. Create a template class for a 3-D coordinate parameterized on the underlying data type that allows you to create, add/subtract (operator+ & operator-, scale (operator*), compare ( operator== ), to_string() , and stream out ( operator<< ) points. The class should be named Coordinate and support the following syntax:

2. Implement the class and compile with no errors or warnings (use flags -pedantic -Wall -Wextra ).
3. Create a unit test.
4. Run the program above and obtain:

You will be expected to be able to write C++ programs such as this, without help from the instructor, when you arrive on the first day of Fundamentals of SystemC.
As well as knowing C++, delegates should have a basic understanding of embedded systems, microcontroller architecture, and how to read a datasheet. If you are still unsure whether you meet the pre-requisites, please contact Doulos to discuss.
Wednesday February 18 2026
1 hour session (All Time Zones)
This webinar explores the features of SystemVerilog that are useful for RTL synthesis using the Vivado™ Design Suite from AMD, showing how the RTL SystemVerilog language constructs have been optimized for productivity and reliability.
Friday March 06 2026
1 hour session (All Time Zones)
This introductory webinar will examine each of the components required for Linux to work on an embedded system. It will review how these components fit into the system and what functionality they provide for development and in the final deployed product.