-
Learning by doing
-
Trainers with practical experience
-
Classroom training
-
Detailed course material
-
Clear content description
-
Tailormade content possible
-
Training that proceeds
-
Small groups
In the course Carbon Programming participants learn to develop software in the next generation programming language Carbon. Carbon was launched by Google to possibly serve as a replacement for C++ in the future. Carbon is an open source project intended to solve the limitations of C++.
The course Carbon Programming starts with an introduction into the Carbon programming language covering its goals and design principles. Participants will gain a foundational understanding of Carbon as potential C++ successor and its associated modern tooling.
Next attention is paid to variables and data types in Carbon, including primitive types, compound types, and type inference. Participants will learn how to declare, initialize, and manipulate variables of different data types in Carbon and will also learn about packages in Carbon.
Then control flow structures such as conditionals and loops are covered as well as functions and their parameters. Participants will learn how to write modular and reusable code using functions and control the flow of execution in Carbon programs.
Also data structures like arrays, lists, maps and sets in Carbon, along with their operations and usage are discussed. The handling of null values, pointers and generics are also on the program of the course Carbon programming.
Next object oriented programming concepts in Carbon including classes, objects, inheritance, virtual functions and polymorphism are treated. Participants will learn how to define and use classes to model real-world entities and create object instances in Carbon.
Finally memory safety features in Carbon to prevent common programming errors such as memory leaks and buffer overflows, are explained. Carbon's memory management techniques and best practices for writing safe and secure code are covered.
The course Carbon Programming is intended for developers who want to learn about the possibilities of the Carbon programming language.
To participate in this course, knowledge of a programming language such as C++, Rust, Java or C# is desirable.
The course is a combination of theory and practice. The theory is discussed using slides and demos and is followed by practical exercises.
After successfully completing the course, attendants receive a certificate of participation in Carbon Programming.
Module 1 : Intro Carbon Language |
Module 2 : Variables and Data Types |
Module 3 : Control Flow and Functions |
Goal of Carbon C++ Limitations Carbon as Successor Interoperability Modern Tooling Package Manager Optimal Learning Curve Build from Scratch Modular Code Generics |
Comments Declaration in Carbon var and let Variables Data Types Numerics Strings Type Inference Auto Keyword Packages |
Control Flow Conditionals Loops while Loop for Loop match Functions fn Keyword Parameter Passing Return Types |
Module 4 : Data Structures |
Module 5 : Classes and Objects |
Module 6 : Memory Safety |
Tuples Multiple Coordinates Pointers Absence of Null Pointers Optionals Arrays Indexed Access Generics Methods Structs |
Objects in Carbon State and Behavior Data Members Member Functions Class Methods Alias Declaration Meaning of Self Access Modifiers Inheritance Virtual Functions |
Secure Memory Management Dangling Pointers Buffer Overflows Spatial Memory Safety Array Boundary Checks Temporal Memory Safety Use After Free Use After Return Type Safety Data Race Safety |