BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260705T084230Z
UID:67ee2796-0584-46ef-959c-75468dbaefb6
DTSTART:20210125T083000Z
DTEND:20210208T160000Z
DESCRIPTION:The cours will be held online January the 25th\, February the 1
 st and the 8th.\n\nIn recent years\, the C ++ language has evolved. To sti
 ck to the 1998/2003 standard is to miss many new features that make modern
  C ++ more robust\, more powerful\, and often more readable.\n\nThrough th
 is training\, it is proposed to become familiar with syntactic novelties t
 hat facilitate the writing of code\, modernized best practices to avoid th
 e language traps\, and a programming way that is easier to parallelize.\n\
 nThis training is for scientific programmers who want to discover "modern"
  C ++ (2011 to 2020 standards)\, and adapt their programming practices acc
 ordingly.\n\nDetailed Program :\n\nGenerale feature\n\n\n	Review of some b
 asic C++ concepts\, overview of C++ as a software development environment\
 , with two major software engineering strategies: object oriented programm
 ing and generic programming.\n	Object oriented programming: the virtual fu
 nction mechanism enabling late binding at execution time\, (software modul
 es calling newly written routines without recompilation).\n	Examples of th
 e power and relevance of virtual functions\n	Function objects as extended 
 pointers to functions\, examples\n	Introduction to generic programming: fu
 nction templates\, examples\n	Generic programming: class templates\, examp
 les\n\n\n\n	The core of generic programming: using function and class temp
 lates to parameterize behavior rather than just object types\n	Overview of
  the Standard Template Library (STL): strategies\, containers\, iterators\
 , algorithms\n	Concurrency in the standard C++ library: overview of the th
 read class\, discussion of the new threading interfaces (futures\, promise
 s) enabling easy synchronization of simple concurrency patterns.\n\n\nMode
 rn C++ syntax\n\n\n	Basic features: type inference\, stronger typing\, use
 r-defined literals\, uniform initialization\, rvalue references\, move sem
 antics.\n	Object features: member variables initialization\, delegated and
  inherited constructors\, explicit deletion and overriding of member funct
 ions.\n	Generic features: static assertions\, template variables and type 
 aliasing\, constant expressions\, variadic templates\, perfect forwarding.
 \n	 Functional features: lambda functions.\n\n\nModern C++ library\n\n\n	
 Basic tools: smart pointers (unique_ptr\, shared_ptr)\, new collections (a
 rray\, unordered maps)\, views (span\, string_array)\, wrapper types (func
 tion\, ref).\n	Generic tools: type traits\, sfinae\, concepts.\n	Functiona
 l tools: algebraic types (tuple\, variant)\, monadic types (optional\, fut
 ure)\, ranges.\n	Optimization and parallelization: beyond double\, random 
 numbers\, chrono\, execution policies\, structures of arrays\, co-routines
 .\n\n\nPrerequisites :\n\nKnowledge of classical (pre-11) C++ syntax\, and
  basic experience in programming with C++ objects. Participants should be 
 familiar with the following concepts:\n\n\n	namespaces\n	references\, diff
 erence with pointers\n	basic memory allocation (new and delete)\n	Properti
 es of C++ functions (default values\, overloading)\n	Basic understanding o
 f error handling (exceptions)\n	C++ classes\, programming with objects\, p
 ublic derivation of classes\n	Basic knowledge of templates\n\nhttps://even
 ts.prace-ri.eu/event/977/
SUMMARY:[ONLINE]  Modern Scientific C++ @ MdlS/Idris
URL;VALUE=URI:https://events.prace-ri.eu/event/977/
END:VEVENT
END:VCALENDAR
