Introduction to C++ - Online seminar
C++ and programming paradigms, C++ standard evolution, compilers (open source and commercial), C++ in Astronomy, on-line references and books, Integrated Development Environments.
Basic program building blocks
main function, include directives, constants and variables, built-in data types, numerical, character and string literals, expressions and operators, promotion and cast, C++ standard strings, input/output, the
auto type specifier and type aliases.
Statements and blocks, variable scope, conditional structure (if-else), looping and counting (while, for, range-for), break and continue statements, selective structure (switch-case), C++ standard vectors.
Functions, references, pass by value and pass by reference, use of const, function overloading, recursions, exception handling, standard containers (vector, list, map), iterators, standard algorithms, template functions, lambda functions.
Organizing data and computation
Struct type, classes, attributes, member functions, const member functions, protection labels, constructors, destructor, assignment operator, static attributes and methods, inheritance, abstract classes, polimorphism.
Pointers, function pointers, C arrays, memory allocation and deallocation, smart pointers (shared and unique pointers).