Advanced C++ training course description The course will give a broad overview of the C++ Programming language, focusing on modern C++, up to C++17. This course will cover the use of the Standard Library, including containers, iterator, function objects and algorithms. From the perspective of application development, a number of design patterns will be considered. What will you learn Write C++ programs using the more esoteric language features. Utilise OO techniques to design C++ programs. Use the standard C++ library. Exploit advanced C++ techniques Advanced C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C++ programming foundation. Duration 5 days Advanced C++ training course contents Study of a string class Create a string class as a means to investigate many issues, involving the use of operator overloading and including overloading new and delete. Creation of the class will also require consideration of 'const correctness'. Exception handling Consider the issues involved in exception handling including the concept of exception safety. Templates Review definition of template functions, including template parameter type deduction. Introduction to template metaprogramming. Newer features including template template parameters and variadic templates. Creation of template classes. Design patterns Introduction to Design Patterns and consideration of a number of patterns, such as, factory method, builder, singleton and adapter. The standard C++ library (STL) Standard Library features, such as, Containers, Iterator, Function Objects and Algorithms. Introduction to Lambda expressions. C++ and performance The writing of code throughout the course will be oriented towards performant code, including use of R Value references and 'move' semantics. Pointers The use of pointers will be considered throughout the course. Smart pointers will be considered to improve program safety and help avoid the use of 'raw' pointers. Threading This section will consider the creation of threads and synchronisation issues. A number of synchronisation primitives will be considered. Async and the use of Atomic will also be considered. New ANSI C++ features Summarising some of the newer features to be considered are: Auto, Lambdas expression, smart pointers, variadic templates and folds, R Value references and tuple together with structured binding.
Complete JavaScript training course description A hands on course covering JavaScript programming. Core JavaScript is covered first, including the basics, arrays, functions, classes, modules and Regular expressions. Client side JavaScript is then covered including JavaScript in browsers, Scripting CSS, the jQuery library and HTML APIs. What will you learn Read JavaScript. Write JavaScript. Debug JavaScript. Complete JavaScript training course details Who will benefit: Anyone wishing to learn JavaScript. Prerequisites: None. Duration 3 days Complete JavaScript training course contents CORE JAVASCRIPT Lexical structure: Character set, comments, literals, identifiers, and reserved words, optional semicolons.. Types, values and variables: Numbers, text, boolean values, null and undefines, the global object, wrapper objects, immutable primitive values and mutable object references, type conversions, variable declaration, variable scope. Expressions and operators: Primary expressions, object and array initializers, function definition expressions, property access expressions, invocation expressions, object creation expressions, operator overview, arithmetic expressions, relational expressions, logical expressions, assignment expressions, evaluation expressions, miscellaneous operators. Statements: Expression statements, compound and empty statements, declaration statements, conditionals, loops, jumps, miscellaneous statements, summary of JavaScript statements. Objects: Creating objects, querying and setting properties, deleting properties, testing properties, enumerating properties, property getters and setters, property attributes, object attributes, serializing objects, object methods. Arrays: Creating arrays, reading and writing array elements, sparse arrays, array length, adding and deleting array elements, iterating arrays, multi-dimensional arrays, array methods, FCMAScript 5 array methods, array type, array-like objects, strings as arrays. Functions: Defining functions, invoking functions, function arguments and parameters, functions as values, functions as namespaces, closures, function properties, methods and constructor, functional programming. Classes and modules: Classes and prototypes, classes and constructors, Java-style classes in JavaScript, augmenting classes, classes and types, object oriented techniques in JavaScript, subclasses, classes in ECMAScript 5, modules. Pattern matching and regular expressions: Defining regular expressions, string methods for pattern matching, the RegExp object. JavaScript subsets and extensions: JavaScript subsets, constants and scoped variables, destructuring assignment, iteration, shorthand functions, multiple catch clauses, E4X: ECMAScript for XML. Server-side JavaScript: Scripting Java with Rhino, asynchronous I/O with node. CLIENT SIDE JAVASCRIPT JavaScript in web browsers: Client side JavaScript, embedding JavaScript in HTML, execution of JavaScript programs, compatibility and interoperability, accessibility, security, client side frameworks. The Window object: Timers, browser location and navigation, browsing history, browser screen information, dialog boxes, error handling, document elements as window properties, multiple windows and frames. Scripting Documents: Overview of the DOM, selecting document elements, document structure and traversal, attributes, element content, creating, inserting and deleting nodes. Example: generating a table of contents, document and element geometry and scrolling, HTML forms, other document features. Scripting CSS: Overview of CSS, important CSS properties, scripting inline styles, querying computed styles, scripting CSS classes, scripting stylesheets. Handling events: Types of events, registering event handlers, event handler invocation, document load events, mouse events, mousewheel events, drag and drop events, text events, keyboard events. Scripted HTTP: Using XMLHttpRequest, HTTP by <script>: JSOMP, Comet with server-sent events. The jQuery library: jQuery basics, jQuery getters and setters, altering document structure, handling events with jQuery, Animated effects, Ajax with jQuery, Utility functions, jQuery selectors and selection methods, Extending jQuery with plug-ins. The jQuery UI library. Client side storage: localStorage and sessionStorage, Cookies, IE usingData persistence, Applicatioin storage and offline webapps. Scripted media and graphics: Scripting images, Scripting audio and video, SCG:scalable vector graphics, Graphics in a <canvas>. Scripted HTTP: Using XMLHttpRequest, HTTP by <script>: JSOMP, Comet with server-sent events. The jQuery library: jQuery basics, jQuery getters and setters, altering document structure, handling events with jQuery, Animated effects, Ajax with jQuery, Utility functions, jQuery selectors and selection methods, Extending jQuery with plug-ins. The jQuery UI library. Client side storage: localStorage and sessionStorage, Cookies, IE usingData persistence, Applicatioin storage and offline webapps. Scripted media and graphics: Scripting images, Scripting audio and video, SCG:scalable vector graphics, Graphics in a <canvas>. HTMLS APIs: Geolocation, history management, cross-origin messaging, web workers, type arrays and ArrayBuffers, blobs, the filesystem API, client side databases, web sockets.
Python training course description This Python course focusses on teaching Python for use in network automation and network DevOps. We focus on getting delegates up and running with Python and network automation as quickly as possible rather than making them great programmers. In other words we concentrate on enabling delegates to use network automation libraries such as netmiko, NAPALM and Nornir, and APIs such as NETCONF and RESTCONF rather than enabling delegates to produce object oriented programs. Hands on sessions use Cisco and Juniper devices. What will you learn Run Python programs. Read Python programs. Write Python programs. Debug Python programs. Automate network tasks with Python programs. Configure network devices with Python. Collect data from network devices with Python. Python training course details Who will benefit: Network engineers. Prerequisites: TCP/IP Foundation Duration 5 days Python training course contents What is Python? Programming languages, Why Python? Python in interactive mode, Python scripts, ipython, Python version 2 versus version 3. A simple Python script. Comments. Hands on Installing Python, Hello world. A network example On box vs off box Python. telnet, ssh, NETCONF, HTTP, APIs, manufacturers and API support, analysis of a simple telnetlib program. Hands on Using Python to retrieve the configuration from a network device. Using wireshark to analyse the actions. Python basics I/O, operators, variables and assignment, types, indentation, loops and conditionals. Hands on Modifying the telnet program, changing configurations on a network devices. Functions, classes and methods What are functions, calling functions, builtin functions, useful builtin functions, file handling, classes, objects, creating instances. Hands on Storing configurations in files, configuring devices from files, using an inventory file to work on multiple devices. Libraries and modules Modules, files and packages, import, from-import, Python standard library, other packages, pip install, executing other programs. Managing python libraries. Hands on Using pip, installing and using ipaddress, subprocess to access netsnmp. For the more advanced, using the sockets library. Paramiko and netmiko SSH, enabling SSH on devices, keys. Paramiko versus netmiko, example scripts. pexpect. Hands on Configuring VLANs from Python. pySNMP Gathering facts using previous methods, SNMP review, pySNMP GET, pySNMP and SNMPv3. easySNMP library. Hands on Walking a MIB from Python. NETCONF What is NETCONF? Enabling NETCONF on devices, A first ncclient script, device handlers, get_config, edit_config, copy_config, delete_config, commit, validate, pyEZ, utils_config, utils.sw. Hands on Configuration using ncclient and PyEZ. This session is expanded for those interesting in JunOS automation. Manipulating configuration files Builtin functions, string handling. Unicode. Sequences, strings, lists, tuples. Dictionaries. TextFSM. Regular expressions. JSON, YAML, XML, YANG, Jinja2, templates. Hands on Jinja2 templating with Python to configure network devices. NAPALM Getters, configuration operations, supported devices, NAPALM transport, Config-replace, Config-merge, Compare config, Atomic changes, rollback. Example NAPLAM scripts. Hands on Using NAPALM to gather facts, Using NAPALM for configuration management REST and RESTCONF What is REST, HTTP methods, GET, POST, cURL, Postman, Python requests library. RESTCONF, a RESTCONF example. Hands on Modifying a configuration using RESTCONF. Scapy What is scapy, Scapy in interactive mode, Scapy as a module. Hands on Packet crafting from Python. Warning Errors and exceptions, Exception handling, try, except. Memory management. Garbage collection. Context management, With. Hands on Improving Python code. Nornir What is Nornir? A network automation framework, inventories, connection management and parallelization. Nornir architecture and other libraires. Hands on Setting up nornir, nornir fact gathering, nornir tasks. Optional Writing your own functions, Writing your own classes. pyntc. Hands on Writing reusable code.
REST and RESTCONF training course description An introduction to REST and RESTCONF using Python. The course progresses from how to use them onto how they work and then looks at using them from within Python all the time on network devices. What will you learn Explain what REST and RESTCONF are. Use the REST API on network device. Use RESTCONF. REST and RESTCONF training course details Who will benefit: Network engineers. Prerequisites: Python for network engineers. Duration 1 day REST and RESTCONF training course contents Using REST Curl, Browser plugins, Postman, RESTClient, Python. Hands on Using the REST API on network devices. What is REST? What is REST? Architecture, APIs, RESTful APIs, APIs over HTTP/HTTPS, URIs, resources, HTTP methods, GET, POST, PUT, DELETE. CRUD. Comparison with other APIs. Hands on REST analysis with Wireshark. Rest conventions Passing parameters, return values, HTTP status, JSON. XML. Hands on Configuring REST on network devices, changing format of responses, POST requests, using parameters. Configuring network devices with REST Invoking multiple RPCs. Hands on Device configuration with REST. The request library RESTFUL APIs in Python, the request library, Installation, example to retrieve the interface configuration. Hands on Using the Python requests library on network devices. RESTCONF What is RESTCONF? YANG and NETCONF, relationship with REST, RESTCONF URIs, A RESTCONF example with ietf-interfaces, RESTCONF responses. PATCH. Hands on Using RESTCONF to update a network device configuration.
Hyper V for engineers training course description This five day course will provide you with the knowledge and skills required to design and implement Microsoft Server Virtualization solutions using Hyper-V and System Center. Please note that due to the nature of the lab / environment build delegates may be required to work in pairs. What will you learn Install and configure the Hyper-V server role. Create virtual machines, create and manage virtual hard disks and work with snapshots. Create and configure virtual machine networks in a Hyper-V environment. Provide high availability for Hyper-V environment by implementing failover clustering. Use System Center 2012 R2 Virtual Machine Manager. Create and manage virtual machines by using VMM. Hyper V for engineers training course details Who will benefit: Anyone designing, implementing, managing and maintaining a virtualization infrastructure. Prerequisites: Supporting Windows server 2012 Duration 5 days Hyper V for engineers training course contents Evaluating the environment for virtualization Overview of Microsoft virtualization, Overview of system center 2012 R2 components, Evaluating current environment for virtualization, Extending virtualization to the cloud environment. Selecting the appropriate virtualization method, Assessing the environment by using MAP. Installing and configuring the Hyper-V role Installing the Hyper-V role, Managing Hyper-V, Configuring Hyper-V settings, Hyper-V Host storage and networking, Installing the Hyper-V server role, Configuring Hyper-V settings, Accessing and managing Hyper-V remotely. Creating and managing virtual hard disks, virtual machines, and checkpoints Creating and configuring virtual hard disks, Creating and configuring virtual machines, Installing and Importing virtual machines, Managing virtual machine checkpoints, Monitoring Hyper-V, Designing virtual machines for server roles and services, Creating and managing virtual hard disks, Creating and managing virtual machines, Importing virtual machines and working with checkpoints monitoring Hyper-V. Creating and configuring virtual machine networks Creating and using Hyper-V virtual switches, Advanced Hyper-V networking features, Configuring and using Hyper-V network virtualization, Creating and using Windows Server 2012 R2 Hyper-V virtual switches, Configuring and using advanced virtual switch features, Configuring Hyper-V Network virtualization. Virtual machine movement and Hyper-V replica Providing high availability and redundancy for virtualization, Implementing virtual machine movement, Implementing and managing Hyper-V replica, Moving Hyper-V storage and virtual machines, Configuring and managing Hyper-V replica. Implementing failover clustering with Hyper-V Overview of failover clustering, Configuring and using shared storage, Implementing and managing failover clustering with Hyper-V, Creating a Hyper-V failover cluster, Managing a Hyper-V failover cluster. Installing and configuring System Center 2012 R2 virtual machine manager Integrating system center and server virtualization, Overview of VMM, Installing VMM, Adding hosts and managing host groups, Installing and configuring System Center 2012 R2 VMM, Managing hosts and host groups. Managing the Networking and storage infrastructure in System Center 2012 R2 VMM Managing networking infrastructure managing storage infrastructure, Managing infrastructure updates, Implementing a network infrastructure, Implementing a storage infrastructure, Managing infrastructure updates. Creating and managing VM using MS System Center 2012 R2 VMM VMM tasks in VMM, Creating, cloning, and converting VMs, Overview of VM updating, Creating a VM and modifying it's properties, Cloning a VM. Configuring and managing the MS System Center 2012 R2 VMM library and library objects Overview of the VMM library, Working with profiles and templates, Configuring and managing the VMM library, Creating and managing profiles and templates. Managing clouds in MS System Center 2012 R2 VMM Introduction to clouds, Creating and managing a cloud, Working with user roles in VMM, Creating a cloud, Working with user roles, Deploying VMs to a private cloud. Managing services in MS System Center 2012 R2 VMM and app controller Understanding services in VMM, Creating and managing services in VMM, Using app controller Creating a service template, Deploying a service and updating a service template, Configuring app controller, Deploying a VM in app controller. Protecting and monitoring virtualization infrastructure Overview of backup and restore options for VM, Protecting virtualization Infrastructure using DPM, Using Operations Manager for monitoring and reporting, Integrating VMM with Operations Manager, Implementing MS System Center 2012 R2 Operations Manager agents, Configuring Operations Manager monitoring components, Configuring Operations Manager integration with System Center 2012 R2 VMM.
Complete C programming training course description A hands-on introduction to programming in the ANSI C programming language. The course initially moves at a fast pace in order to spend as much time as possible on the subject of pointers - the area which cause the most bugs in C programs. What will you learn Write ANSI C programs Use the C libraries Debug C programs Examine existing code and determine its function. Complete C programming training course details Who will benefit: Programmers wishing to learn C. Programmers wishing to learn C++ or Java. Prerequisites: None, although experience in another high level language would be useful. Duration 5 days Complete C programming training course contents Getting started The compilation process, comments, main(), statement blocks, printf(). C data types and operators char, int, float and double, qualifiers, arithmetic and assignment operators, precedence, Associativity. Basic I/O C libraries, stdin and stdout, getchar(), putchar(), printf() formatting. Flow control if else, dangling elses, else if, while and for loops. switch statements, the null statement, break, continue and gotos. Functions Function calls, arguments and return types, function declarations (prototypes), function definitions, scope of variables. The preprocessor Preprocessor actions, macros, #include. Libraries and their relationship with header files. Conditional compilation. More data types and operators Logical, bitwise and other operators, type conversion, casting, typedefs and access modifiers. Arrays Declaring and handling arrays, common gotchas, multidimensional arrays. Pointers What are pointers? Why they are so important, declaring and using pointers,The three uses of the *,pointer example - scanf, pointers as arguments. More pointers Golden rules of pointers and arrays, pointers to arrays, pointer arithmetic, arrays of pointers, multiple indirection. Character/string manipulation Arrays of characters, string definition, working with strings, String library. Program arguments argc and argv, example uses,char *argv[] versus char ** argv. Program structure and storage classes Globals (externals), multi source programs, the look of a C program. Structures Declaration, the . and - operators, unions and bitfields. Library functions File handling, fopen and fclose, reading from and writing to files, fseek().calloc() and malloc()
Why Choose Twinmotion Realtime Rendering Training Course? Click here for info Empower architects, designers, and visualization experts with our Twinmotion training. Learn tools, materials, lighting, animation, and rendering. Explore advanced techniques for lifelike landscape and special effects using Twinmotion's asset library. Opt for in-person or live online sessions. Duration: 10 hrs Method: 1-on-1, Personalized attention Schedule: Tailor your own hours of your choice, available from Mon to Sat between 9 am and 7 pm Twinmotion Real-time 3D Architecture Visualization Course Outline: Module 1: Introduction to Twinmotion Explore Twinmotion's real-time 3D visualization capabilities Master the Twinmotion interface for efficient scene manipulation Prepare 3D files for import and manage the workflow Module 2: Materials and Realism Enhance scenes with realistic materials and visual quality Utilize videos as materials and apply glow effects Create grunge materials for added texture and realism Employ the X-ray material for specific visualization needs Module 3: Landscape and Vegetation Integrate vegetation using Twinmotion's scatter, HQ trees, and growth features Customize grass and utilize HQ vegetation assets for realism Create time-lapse effects for vegetation growth Module 4: Library and Object Import Access the Twinmotion library for furniture and objects Seamlessly import external 3D objects Obtain high-quality 3D assets from the internet and add to the user library Utilize BIM-objects for additional assets Module 5: Lighting and Animation Work with various lighting options, including area light and volumetric light Add animated characters and vehicles for dynamism Incorporate construction vehicles and aircraft for realism Module 6: Volumes and Interactivity Utilize volumes and the animator feature for dynamic scenes Implement urban elements and measurement tools for accuracy Module 7: Nature and Weather Effects Utilize Twinmotion's nature features, including physical sky and weather effects Create realistic lighting for outdoor scenes Add ocean effects for water elements Module 8: Rendering Techniques Master rendering processes, from creating images to exporting panoramas and animations Implement depth of field improvements for captivating visuals Create BIM motion virtual reality phases for immersive experiences Utilize the Twinmotion presenter feature for streamlined presentations Module 9: Final Project Apply knowledge and skills to complete a final render project in Twinmotion Download Twinmotion https://www.twinmotion.com › download Learn how to download and install Twinmotion, the fast, easy real-time archvis tool.
Who is this course for? Twinmotion Training Course. The Twinmotion course is designed for architects, interior designers and urban planners. Learn how to create architectural visualizations and real-time animations. Students interested in exploring the world of architectural rendering and visualization using Twinmotion software. Click here for more info: Website Duration: 10 hours Approach: 1-on-1 training with tailored content. Schedule: Book a time that suits you, Mon to Sat, from 9 am to 7 pm, and create your own schedule. Course Outline for Twinmotion Real-time 3D Architecture Visualization: Module 1: Twinmotion Introduction Explore the real-time 3D visualization capabilities of Twinmotion Master efficient scene manipulation through the Twinmotion interface Prepare 3D files for import and manage the workflow effectively Module 2: Materials and Realism Enhancement Enhance scenes with realistic materials and elevate visual quality Utilize videos as materials and apply glowing effects Create grunge materials to add texture and realism Employ the X-ray material for specific visualization needs Module 3: Landscape and Vegetation Integration Integrate vegetation using Twinmotion's scatter, HQ trees, and growth features Customize grass and utilize HQ vegetation assets for realistic landscapes Create time-lapse effects for dynamic vegetation growth Module 4: Library and Object Management Access the Twinmotion library for furniture and objects Seamlessly import external 3D objects into your scenes Obtain high-quality 3D assets from the internet and add them to your user library Utilize BIM-objects for additional assets Module 5: Lighting and Animation Techniques Work with various lighting options, including area light and volumetric light, to enhance scenes Add animated characters and vehicles to infuse dynamism into your visuals Incorporate construction vehicles and aircraft for realistic scenes Module 6: Volumes and Interactive Elements Utilize volumes and the animator feature to create dynamic scenes Implement urban elements and measurement tools for precision and accuracy Module 7: Nature and Weather Effects Utilization Harness Twinmotion's nature features, such as physical sky and weather effects, to create lifelike outdoor scenes Establish realistic lighting for outdoor environments Add ocean effects to enhance water elements in your scenes Module 8: Advanced Rendering Techniques Master rendering processes, from creating images to exporting panoramas and animations Implement depth of field improvements to create visually captivating scenes Create BIM motion virtual reality phases for immersive experiences Utilize the Twinmotion presenter feature for seamless presentations Module 9: Final Project Apply acquired knowledge and skills to complete a final rendering project in Twinmotion Download Twinmotion https://www.twinmotion.com ⺠download Learn how to download and install Twinmotion, the fast, easy real-time archvis tool. Learning Outcomes of Real-Time Rendering: Efficient Scene Creation: Rapid development of immersive 3D environments using essential tools and techniques. Realistic Material Application: Expertise in applying authentic textures and shaders for visually convincing scenes. Dynamic Lighting: Understanding dynamic lighting effects for visually compelling, realistic scenes. Interactive Elements: Integration of animations and dynamic objects for engaging user experiences. Performance Optimization: Optimizing assets and scenes for smooth real-time rendering across diverse hardware. Library Utilization: Efficient use of asset libraries to enhance scene complexity without compromising performance. Visual Effects: Application of weather conditions, particle systems, and post-processing effects for stunning environments. Collaborative Rendering: Mastering real-time collaborative rendering techniques for teamwork and live interactions. Future Trends in Real-Time Rendering: Ray Tracing Advancements: Real-time ray tracing for realistic lighting, shadows, and reflections. AI-Powered Rendering: AI-driven predictive rendering for faster, high-quality outcomes. Immersive Experiences: Real-time rendering enabling immersive simulations in gaming, education, and architecture. Cross-Platform Compatibility: Seamless experiences across devices, from gaming consoles to VR headsets. Blockchain Integration: Blockchain tech ensuring asset authenticity and ownership verification. Real-Time Cinematography: Revolutionizing film and animation with efficient real-time visual effects. Environmental Sustainability: Focus on energy-efficient algorithms for reduced environmental impact. Collaborative Design: Real-time rendering facilitating interactive design reviews and creative collaboration. Twinmotion Course: Expertise in Real-Time Visualization: Develop mastery in Twinmotion, enabling the creation of captivating architectural environments in real-time. Improved Design Communication: Enhance concept communication by utilizing dynamic visualizations, elevating the quality of design presentations. Access to High-Quality Assets: Utilize an extensive library of premium assets to enrich scenes, adding realism and creativity to your projects. Crafting Lifelike Environments: Learn to create realistic landscapes, water effects, weather conditions, and special effects, providing immersive and lifelike experiences. Flexible Learning Options: Choose between in-person or live online sessions, ensuring a personalized and convenient learning experience tailored to your needs. Lifetime Access and Support: Benefit from perpetual access to lesson recordings and receive continuous support through lifetime email assistance, allowing you to stay connected with knowledgeable instructors for ongoing guidance. Course Advantages: Mastery of Real-Time Visualization: Acquire expertise in Twinmotion for creating captivating architectural environments. Enhanced Design Communication: Improve concept communication through dynamic visualizations, elevating design presentations. Abundant High-Quality Assets: Utilize an extensive library of top-notch assets, enriching scenes with realism and creativity. Creation of Lifelike Environments: Craft realistic landscapes, water effects, weather conditions, and special effects for immersive experiences. Flexible Learning Options: Choose between in-person or live online sessions, ensuring a personalized and convenient learning experience. Lifetime Access and Support: Enjoy perpetual access to lesson recordings and receive continuous support through lifetime email assistance, staying connected with knowledgeable instructors.
C++ training course description A hands on introduction to programming in the C++ language. The course concentrates on aspects that will be new to experienced C programmers and so is not suitable for those without C knowledge. What will you learn Write C++ programs Debug C++ programs. Examine existing code and determine its function. Use classes, function overloading, operator overloading, inheritance and virtual functions within C++ programs. C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C programming foundation. Duration 5 days C++ training course contents The origins of C++ C++ as a better C, C++ and Object Oriented Programming, encapsulation, polymorphism, inheritance. C++ standards. Getting started Simple C++ programs. Classes Basics, constructor and destructor functions, member and friend functions. Using objects. Default, copy and conversion constructors. A better C Arrays, pointers and references, new and delete. Improved safety with smart pointers, Resource Acquisition in Initialization (RAII). Functions in C++ Function overloading, default arguments, inline functions, Lambda functions. Templates Template classes and functions. Standard Library Containers, Iterators, algorithms, function objects. Operator overloading Basics, binary operators, the this pointer, relational operators, unary operators. Members versus friends. Inheritance Base class access control, protected members, multiple inheritance, virtual base classes. More I/O Manipulators, customising inserters, extractors. File I/O. Virtual functions Pointers to derived classes, run time polymorphism. Exception handling Throwing errors, trying code and catching errors.