Objectoriented programming: Code can be splitted into parts which can be reused again. Introduces classes and structures, from which objects can be created. Classes can contain functions which can be used specifically on objects of that class, to edit them. Makes it easier to administrate for example multiple soldiers, by creating multiple soldier-objects of class soldier. Standards: Standards are used to unify software-modules, so they can be used on all systems which are implementing those standards. DIN -> Deutsches Institut fuer Normung ANSI -> American National Standards Institute STL -> Standard Template Library C++: C++ is a programming language used to programm. It is close to the system, which means that it is possible to influence the system in a very close way. SDK -> Software Development Kit Many SDKs are optimized for C++. It also implements a functionality called pointers, which point to an address, where some data is stored. They allow fast and efficient access on that data. It is one of the most used programming languages to create games. Preprocessor-commands: At compiling of programm-code, those commands marked with a hash # are processed first. Includes: Includes are preprocessor-commands which allow to include already existing code into your project. For example the iostream library contains code to read and write from and to console. If you want to include libraries from the working-directory, you have to use "lib" and the compiler will be looking there for the libs. If you want to use libraries from a special directory, specified by the include path of the compiler, you have to use . Example: #include Namespaces: Namespaces are named spaces, which can include functions and variables. They can help to seperate different modules with equal function- or variable- names. To use a function or variable of a specififc namespace use namespace::variablename or namespace::functionname. Namespaces help to avoid conflicts between modules which are programmed by different people. main-function: Every programm needs a main-function, which serves as the entrance-point of the programm. The main-function returns 0 if there was no error, as default we always return 0. The curled paranthesis {} mark the content of the function. cout: Function from library iostream at namespace std, which is used to print messages to the console. Example: cout << "Message" << endl; endl stands for end of line. Escape-signs: Escape-signs are used to display some special characters like spaces, tabs, etc. They can be used at strings (char-arrays) and are indicated by a backward-slash. Examples: \n -> Carriage Return \t -> horizontal tab \v -> vertical tab \r -> return to beginning of collumn \b -> jump back by one sign \" -> insert "-sign \\ -> insert backslash \a -> plays signal-sound Variables: There are so called primitive datatypes and abstract datatypes. Abstract datatypes are introduced with objectoriented programming in which objects are these abstract datatypes. They are consisting out of primitive datatypes. Primitive datatypes are numbers, characters or (void). There are so called type qualifiers which influence the range of values and the required memory to store the variable. But be aware, that also the compiler on which C is used, influences the required memory-usage. List is for 32bit gcc short int: 2 byte -32,768 to 32,767 %hd unsigned short int: 2 byte 0 to 65,535 %hu unsigned int: 4 byte 0 to 4,294,967,295 %u int: 4 byte -2,147,483,648 to 2,147,483,647 %d long int: 4 byte -2,147,483,648 to 2,147,483,647 %ld unsigned long int: 4 byte 0 to 4,294,967,295 %lu long long int: 8 byte -2^63 to 2^63-1 %lld unsigned long long int: 8 byte 0 to 18,446,744,073,709,551,615 %llu signed char: 1 byte -128 to 127 %c unsigned char: 1 byte 0 to 255 %c float: 4 byte 1.2E-38 to 3.4E+38 %f double: 8 byte 1.7E-308 to 1.7E+308 %lf long double: 16 byte 3.4E-4932 te 1.1E+4932 %Lf with the sizeof()-function you can check the size with your compiler.