I. Introduction in C programming
- Visual Studio. “Hello world” in C. Functions. Structure of a program. Build, execution, debugging
- Variables; storage (stack, heap). Operators: comparison, logical
- Decision and loop statements; typedefs, macros, conditional compilation
- Scalars; strings; arrays. Operations with arrays
- Functions. Interfaces and function libraries.
- Strings. Usual mistakes. Exceptions.
- Decision and control-of-flow: if/else, ?: operator. goto statement
- Loops. for, while, do..while. Post/prefix ++/–. break/continue. Infinite loops
- Function call; static/extern; main function; stdio.h as function library
- Writing to console: printf. Format specifiers
- Dynamic memory; pointers. malloc/free. Functions call by value/reference
- String as pointer; strlen/strcat. NUL terminators; dereferencing pointers. Reading from console: scanf
- Functions as variables; function pointers; callbacks
- Structures; unions; bitmasks/flags. #define vs enum
- Structures and unions in structures; type indicator; variant
- Recursion; callstack. Fibonacci. Variadic functions
- Lists; single-linked; operations
- Binary trees; search; callbacks
- stdio.h: printf, scanf
- Serialization; basic types
- Files
- Structure serialization
- Function pointers; function composition. Pure functions vs Modifying functions
- Definining a simple algorithm to combine functions dynamically
- Object = data + functions. vtables; interfaces. Object lifetime
- main functions written as an object invocation
- Aggregated/composed objects. Outer and inner interfaces
- Indirect creation: factory. Reference count
- Objects messages. Events and observers. Callback/event handlers registration
II. Introduction in C++ programming
- “Hello world” in C++. Classes. Structure of a program.
- Special functions: constructor, destructor. this pointer
- Default and copy constructor. Destructors
- I/O: std::cout, std::cin
- Class members. Derived classes. Order of execution. Access: public, private, protected
- Static methods. Virtual functions. Pure virtual
- Dynamic allocation. new and delete. Vector variants: new[] delete[]
- Objects as arguments: pass by value or pointer. References
- Operators: assignment vs copy constructor. Decision: !, bool(). Data access
- Multiple derivation; chain derivation. Virtual destructor. Conversions and casts
- Override and overwrite virtual functions
- Friend functions and operators. iostream
- Serialization
- Smart pointers. std::unique_ptr. std::string
- Member functions as arguments. Composition. Collection of methods
- std::vector, std::list. Operations
- Iterators
- Exceptions
- RTTI. typeid. dynamic_cast
- <algorithm>
- Private constructors and destructors. Object lifetime
- Reference count. Factory. Singleton
- std::map, std::set
- Object serialization: streams. << >> operators
- Interface and implementation. Pure classes
- DLL-exported objects
- Design of a project. Separation. Project layout
- C++ in Visual Studio. Tools. Debuggers. Debug|Release
- Classes definitions. Usual mistakes
- First run. Debugging. Crashes: Win32 SEH vs C++ exceptions
- Testing
III. HR Week
- Why soft skills matter
- Technical knowledge coverage
- What kind of interview questions should you expect
- HR & Technical interview simulation
Unboxing Day este o sesiune în care fiecare cursant are ocazia să-și prezinte proiectul, să pună întrebări și să primească feedback, sfaturi și recomandări chiar de la specialiști din domeniul IT.