Windows certificates training course description A hands-on training course concentrating solely on PKI using Windows certificates. What will you learn Explain how PKI works. Install windows certificates. Configure windows certificates. Troubleshoot windows certificates. Windows certificates training course details Who will benefit: Technical security staff. Prerequisites: Windows server. Duration 3 days Windows certificates training course contents PKI Symmetric encryption, asymmetric encryption, authentication, digital signing, hashing, certificates, Certification Authorities, Root CA, Intermediate CA, policy CA, Issuing CA, Certificate Revocation Lists. Hands on Inspecting a certificate. Policies and PKI Security policy, certification policy. CA hierarchy Impact of CAs on Active Directory, CA architecture, number of tiers, issuing CA organisation, CA configuration files. CA security. Hands on CA installation PKI health tool, monitoring. Certificate revocation When to revoke, OCSP. Hands on Revoking certificates. Certificate validation Discovery, validation, checks, revocation checking, certificate chains, certification publication. Hands on Event viewer. Certificate templates Version 1, version 1, default, modifying templates. Hands on Template management. Roles Criteria roles, CA administrator, Certificate manager, Backup operator, Auditor. Other PKI management roles. Disaster recovery Backups, recovery. Hands on certutil. Issuing certificates The certificate enrolment process, enrolment methods, manual enrolment, automatic enrolment. Trust between organisations Creating Trust, CTLs, common root CA, cross certification, bridge CA. Web servers and certificates SSL encryption, certificate authentication. Hands on Web servers. VPN Hands on Certificate deployment for VPN. WiFi Hands on 802.1X
CentOS training course description This three day hands on course provides a comprehensive coverage of core Linux administration tasks on CentOS Linux. What will you learn Administer & configure Linux systems. Maintain Linux by handling disk space and taking regular backups. Manage software packages. Perform basic troubleshooting. Maintain a secure Linux system. Describe the organisation and implementation of the filesystem. CentOS training course details Who will benefit: System administrators. Network administrators. Prerequisites: Linux fundamentals Duration 3 days CentOS training course contents Managing software Package Concepts, RPM, rpm Commands, Yum, Dependencies and Conflicts, Startup Script Problems, Shared Libraries, Library Management, Managing Processes, the Kernel: The First Process, Process Lists, Foreground & Background Processes, Process Priorities, Killing Processes. Configuring hardware Configuring Firmware and Hardware, IRQs, I/O Addresses, DMA Addresses, Boot Disks, Coldplug and Hotplug Devices, Configuring Expansion Cards and PCI Cards, Kernel Modules, USB Devices, Linux USB Drivers, Configuring Hard Disks, Partitioning Systems, LVM, Common Layouts, Creating Partitions and Filesystems, Maintaining Filesystem Health, Tuning, Journals, Checking Filesystems, Monitoring Disk Use, Mounting and Unmounting Filesystems. Managing files File Management Commands, File Naming and Wildcards, File Archiving, Links, Directory Commands, File Ownership and Group, File access control, Permissions, chmod, Defaults, File Attributes, Disk Quotas, Enabling and setting Quotas, Locating Files, The FHS. Booting Linux and editing files Installing Boot Loaders, GRUB Legacy, GRUB 2, Alternative Boot Loaders, the Boot Process, Boot Messages, Runlevels and the Initialization Process, Runlevel Functions, Runlevel Services, Alternative Boot Systems , Upstart, system. Administering the system Managing Users and Groups, Tuning User and System Environments, Using System Log Files, Understanding syslogd , Setting Logging Options, Manually Logging Data, Rotating Log Files, Reviewing Log File Contents, Maintaining the System Time, Linux Time Concepts, Manually Setting the Time, Using NTP, Running Jobs in the Future, Understanding the Role of cron, Creating System cron Jobs, Creating User cron Jobs, Using anacron, Using at. Configuring basic networking TCP/IP, Network Hardware, Network Addresses, Hostnames, Network Ports, Configuring Linux for a Local Network, Configuring with DHCP, Static IP Address, Configuring Routing, Using GUI Configuration Tools, ifup and ifdown, Diagnosing Network Connections, Testing Connectivity, Tracing a Route, Checking Network Status , Examining Network Traffic, Additional Tools. Securing your systems Administering Network Security, Super Server Restrictions, Disabling Unused Servers, Administering Local Security, Securing Passwords, Limiting root Access, Setting Login, Process, SUID/SGID Files, Configuring SSH, Using GPG, Generating, Importing and Revoking Keys, Encrypting and Decrypting Data, Signing Messages and Verifying Signatures.
Application delivery training course description A concise hands on course covering section 1 of the F5 networks AD fundamentals exam. The course focuses on the technology and not any one manufacturers product. This will enable delegates to work with devices from any manufacturer. Practical hands on with Cisco and Microsoft systems follow the major sessions to reinforce the theory. What will you learn Explain, compare and contrast the OSI layers. Explain protocols and technologies specific to the data link layer. Explain protocols and apply technologies specific to the network layer. Explain the features and functionality of protocols and technologies specific to the Transport layer. Explain the features and functionality of protocols and technologies specific to the Application layer Application delivery training course details Who will benefit: Anyone taking the F5 networks AD fundamentals exam. Technical staff working in Application delivery. Prerequisites: None. Duration 3 days Application delivery training course contents What is TCP/IP? Protocols, services. The Internet, RFCs, The OSI 7 layer model. Layer 1 cables. Ping and addressing Host configuration of IP addresses, subnet masks, default gateways, ipconfig, ping. Hands on Configuring TCP/IP, ping. Ethernet and the data link layer 802.3, evolution, choosing cables, topologies, CSMA/CD, hubs, NICs, MAC addresses. Hands on Analysing MAC addresses. IP and Ethernet Relationship. Hands on ARP. What is a switch? Switches connect multiple devices, switches versus hubs, simultaneous conversations, switches work at layer 2, the forwarding database, how the forwarding database is built, broadcast and collision domains. Hands on Difference between hubs and switches. Link aggregation Loops, broadcast storms, STP, Architectures, modes, link aggregation, load sharing, resilience. Hands on fail over times. VLANs Virtual versus physical LANs, Why have VLANs? Broadcast domains. Hands on VLANs effect on traffic. IP IP datagram format, ICMP datagram format. Hands on Analysing IP and ICMP packets. IP addressing Format of addresses, registering, dotted decimal notation, choosing addresses, DHCP. Hands on impact of addressing errors. Routing What is a router? Reason for routing, network addressing, default gateways, how routing works, routing and addresses, routing tables, traceroute. Hands on Using a routed network. Routing protocols IGPs, EGPs, RIP & OSPF. Hands on Configuring routers for RIP and OSPF. Subnetting When to subnet, subnet masks, working with subnetting, CIDR notation. Hands on Changing the routed network to use subnetting. The transport layer UDP, Ports, TCP, acknowledgements, sliding windows. Hands on Analysing packets. Applications Clients, servers, web, Email SMTP, resource sharing, IM, VoIP, Video over IP, terminal emulation, FTP. Hands on FTP, SIP. Web pages URLs, DNS, names to IP addresses. HTTP, versions and status codes. Keepalives, cookies. Hands on Analysing HTTP headers.
Microsoft Exchange training course description A hands on course focusing on the day to day running of Microsoft Exchange. The course is designed for those with a sound understanding of how Exchange forwards emails and concentrates on important issues such as monitoring, backups and restores. This course can be delivered on any version of Microsoft exchange and tailored as required. What will you learn Install MS Exchange Create, configure and manage user mailboxes. Configure and administer MS Exchange. Backup and restore MS Exchange. Microsoft Exchange training course details Who will benefit: Anyone working with MS Exchange. Prerequisites: Total SMTP and email for engineers Duration 3 days Microsoft Exchange training course contents Review of mail basics Basic routing & Client/Server, Mail flow & protocols, Mail server technology. Exchange features MAPI, Database, The Exchange organisation, Active Directory consideration. Installing Understanding server roles, Planning for Exchange, Preparing Active Directory, Preparing the host server, Installing Exchange. Introduction to Exchange management tools Exchange Management shell, Exchange Management console. Administration Configuring SMTP domains, Send connectors, Receive connectors, Setting up & managing user mailboxes, Setting up resource mailboxes, Mail enabled groups, Address lists. Troubleshooting Security & troubleshooting wizards, Windows platform tools, External/Internet tools.
OpenStack for NFV and SDN course description OpenStack is predominately a cloud management technology. This course looks at how OpenStack can be used in a NFV and SDN environment. What will you learn Describe the architecture of NFV. Explain the relationship between NFV and SDN. Implement NFV VIM using OpenStack. Explain how OpenStack as VNFM and orchestrator works. OpenStack for NFV and SDN course details Who will benefit: Anyone wishing to implement NFV using OpenStack. Prerequisites: Introduction to Virtualization Duration 3 day OpenStack for NFV and SDN course content What is NFV? What is NFV? What are network Functions? NFV benefits, NFV market drivers. ETSI NFV framework. ETSI documents, Architecture overview, compute domain, hypervisor domain, infrastructure network domain. What is OpenStack? Virtual machines, clouds, management. OpenStack architecture, OpenStack modules. Why OpenStack for NFV? Hands on OpenStack installation. OpenStack Virtualization and NFV Server, storage and network virtualization and NFV. Where OpenStack fits in the ETSI framework. Virtual machines, containers and docker. Data centres, clouds, SaaS, IaaS, PaaS. Hands on OpenStack Iaas, OpenStack Nova. The virtualization layer VM centric model, containers versus hypervisors, FD.io. Hands on OpenStack as the VIM. OpenStack Neutron VXLAN, Networks, subnets, ports. Security groups. Routers. Service and component hierarchy. Hands on Implementing a virtual network with OpenStack Neutron. Virtualization of Network Functions Network virtualization versus Network Function virtualization. NFV MANO Management and Orchestration. Where OpenStack fits. MANO descriptors, Open orchestration. OpenStack Tacker, Open MANO, OpenBaton, other orchestrators. OpenStack Tacker Installation, getting started, configuration. SFC and OpenStack. Hands on Deploying a VNF. OPNFV What is OPNFV, Where OpenStack fits into OPNFV. SDN What is SDN? Control and data planes. SDN controllers. Classic SDN versus real SDN. Hybrid SDN, network automation, SDN with overlays. Northbound, southbound, SDN protocols, OpenFlow, OpenDaylight, ONOS, SDN with NFV. SDN and OpenStack. Summary Deploying NFV, performance, testing. Futures
Advanced Junos Security training course description This course provides students with intermediate routing knowledge and configuration examples. The course includes an overview of protocol-independent routing features, load balancing and filter-based forwarding, OSPF, BGP, IP tunneling, and high availability (HA) features. Junos Intermediate Routing (JIR) is an intermediate-level course. What will you learn Demonstrate the understanding of integrated user firewall. Implement next generation Layer 2 security features. Implement virtual routing instances in a security setting. Utilize Junos tools for troubleshooting Junos security implementations. Implement IPS policy. Advanced Junos Security training course details Who will benefit: Individuals responsible for implementing, monitoring, and troubleshooting Junos security components. Prerequisites: Intro to the Junos Operating System Duration 5 days Advanced Junos Security training course contents Junos Layer 2 Packet Handling and Security Features Transparent Mode Security Secure Wire Layer 2 Next Generation Ethernet Switching MACsec Lab 2 Implementing Layer 2 Security Virtualization Virtualization Overview Routing Instances Logical Systems Lab 3 Implementing Junos Virtual Routing AppSecure Theory AppSecure Overview AppID Overview AppID Techniques Application System Cache Custom Application Signatures AppSecure Implementation AppTrack AppFW AppQoS APBR SSL Proxy Lab 4 Implementing AppSecure Working with Log Director Log Director Overview Log Director Components Installing and setting up Log Director Clustering with the Log Concentrator VM Administrating Log Director Lab 5 Deploying Log Director Sky ATP Theory Sky ATP Overview Monitoring Sky ATP Analysis and Detection of Malware Sky ATP Implementation Configuring Sky ATP Installing Sky ATP Analysis and detection of Malware Infected Host Case Study Lab 6 Instructor Led Sky ATP Demo Implementing UTM UTM Overview AntiSpam AntiVirus Content and Web Filtering Lab 7 Implementing UTM Introduction to IPS IPS Overview Network Asset Protection Intrusion Attack Methods Intrusion Prevention Systems IPS Inspection Walkthrough IPS Policy and Configuration SRX IPS Requirements IPS Operation Modes Basic IPS Policy Review IPS Rulebase Operations Lab 8 Implementing Basic IPS Policy SDSN SDSN Overview, Components & Configuration Policy Enforcer Troubleshooting SDSN Use Cases Lab 9 Implementing SDSN Enforcement, Monitoring, and Reporting User Role Firewall and Integrated User Firewall Overview User Role Firewall Implementation Monitoring User Role Firewall Integrated User Firewall Implementation Monitoring Integrated User Firewall Lab 10 Configure User Role Firewall and Integrated User Firewall Troubleshooting Junos Security Troubleshooting Methodology Troubleshooting Tools Identifying IPsec Issues Lab 11 Performing Security Troubleshooting Techniques Appendix A: SRX Series Hardware and Interfaces Branch SRX Platform Overview High End SRX Platform Overview SRX Traffic Flow and Distribution SRX Interfaces
CWAP training course description This WiFi analysis course consists of hands-on learning using the latest enterprise wireless LAN analysis and troubleshooting tools. The course takes an in-depth look at the functionality of WLANs, intended operation of the 802.11 protocol and Wi-Fi Alliance specifications, WLAN frame formatting and structure, troubleshooting methodology, and protocol analysis. It also includes extensive training in modern spectrum analysis with a focus on advanced RF behaviour analysis, data collection methods, interpreting spectrum plots and charts, and understanding advanced features of WLAN spectrum analysers. What will you learn Analyse WiFi frames using Wireshark. Explain 802.11 protocol operation. Troubleshoot WiFi networks using Wireshark. Troubleshoot WiFi networks using spectrum analysers. CWAP training course details Who will benefit: Technical Network Staff Anyone looking to become a CWAP Prerequisites: Certified Wireless Network Administrator Duration 4 days CWAP training course contents Principles of WLAN Communication 802.11 Working Group, OSI reference model and the 802.11 PHY and MAC, Communication sublayers and data units, WLAN architecture components, Organization of station forwarding Addressing and internetworking operation, Modern WLAN product architectures. Physical (PHY) and MAC Layer Formats and Technologies Physical layer functions, Preamble function and format, Header purpose and structure, Analysis of PHY problems, Physical PPDU formats, 802.11b, 802.11a, 802.11g, 802.11n, MAC frame components, MAC encapsulation, Fields and subfields of the MAC header, Frame Control, Frame types and subtypes and their uses, Addressing, Frame body, Data frame format, Control frame format, Management frame format, Information elements and fields. Beaconing and synchronization Scanning, Client state machine, 802.11 contention, QoS, Admission control, Band steering and airtime fairness mechanisms Fragmentation, Acknowledgments and Block acknowledgments, Protection mechanisms and backward compatibility, Power management, Dynamic Frequency Selection (DFS) and Transmit Power Control (TPC), Security components, methods, and exchanges, Roaming procedures exchanges, Future protocol enhancements. 802.11n Transmit beamforming, Spatial multiplexing, Maximal Ratio Combining (MRC), Space-Time Block Coding, 40 MHz channels, Frame aggregation, HT-OFDM format, Modulation and Coding Schemes (MCS), HT frame formatting and more. Protocol Analysis Tools and Methodology Troubleshooting methodology, Protocol analyser types, Analysis NIC/adapter selection and constraints, Interpreting results based on location, Analyzer settings and features, Filtering and channel scanning, Interpreting decodes, Using advanced analysis features, Assessing WLAN health and behaviour factors, Evaluating network statistics, Troubleshooting common problems, Wired analysis to support wireless network issues. Spectrum Analysis Tools and Methodology Radio frequency behaviour review, Visualizing RF domains using spectrum measurement tools, Spectrum analyser types and operation, Analyser specifications and characteristics, Understanding spectrum data presentation, Interpreting plots and charts, Common WLAN spectrum analyser features, Identifying transmit patterns, Device classification and network impact, Recognizing transmit signatures. Hands on lab exercises Wireshark Setup, Use, and In-Depth Analysis Wireshark is fundamental to troubleshooting. Labs include: - Capabilities, configuration, and data display - Opening, collecting, saving, and modifying capture files. - Filtering traffic, and using colouring rules as analysis aides. - Live captures based on a set of desired collection criteria. - Identify and isolate network problems. - Conversation analysis. - Remote packet capture with an AP. Understanding Frame Components Familiarity with the frame structure and contents is essential in real -world troubleshooting efforts. Labs include: - Understanding the MAC header - Comparing the three major frame types and their subtypes - Analysing frame formats of individual frame types - Analysing 802.11n frame components - Additional information is reported by protocol analysers - Information not visible in protocol analysers Frame Exchanges Understanding frame exchange rules and behaviors is critical to identifying expected and unexpected. It is also necessary to understand what is normal so that aberrations can be properly troubleshot. Labs include: - Connectivity exchanges and sequences - Legacy and modern security exchanges - ERP and HT protection mechanisms - Power save behaviour - Acknowledgments, block acknowledgments, and supporting action frames - Dynamic rate switching - Band steering Troubleshooting Common Problems This lab exposes students to hands-on troubleshooting skills by setting up common problems in WLANs and allowing students to attempt to solve them. - Trouleshooting connectivity exchanges - Troubleshooting 802.1X and EAP exchanges - Troubleshooting roaming Spectrum Analyzer Setup, Use, and In-Depth Analysis Specifically, it will explore the plots and charts used to display spectrum data and how to interpret this data to define a transmitter's impact on the network. The following are covered: - Installing the analyser and using display and navigation - The 'RF perspective' provided by each plot and chart - Using built-in features and automated device identification - Characterizing the behaviours of an interference source - Assessing the impact of an interference source - Determining the impact of transmitter proximity on interference. - Identifying signatures of common transmitters - Remote spectrum analysis with an AP
Complete C# programming training course description This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language. Students review the basics of C# program structure, language syntax, and implementation details, and then consolidate their knowledge throughout the week as they build an application that incorporates several features of the .NET Framework. What will you learn Use the syntax and features of C#. Create and call methods, catch and handle exceptions, and describe the monitoring requirements of large-scale applications. Implement a typical desktop application. Create class, define and implement interfaces, and create and generic collections. Read and write data to/from files. Build a GUI using XAML. Complete C# programming training course details Who will benefit: Programmers wishing to learn C#. Prerequisites: Developers attending this course should already have gained some limited experience using C# to complete basic programming tasks. Duration 5 days Complete C# programming training course contents Review of C# Syntax Overview of Writing Applications using C#, Datatypes, Operators, and Expressions. C# Programming Language Constructs. Hands on Developing the Class Enrolment Application. Methods, exceptions and monitoring apps Creating and Invoking Methods. Creating Overloaded Methods and Using Optional and Output Parameters. Handling Exceptions. Monitoring Applications. Hands on Extending the Class Enrolment Application Functionality. Developing a graphical application Implementing Structs and Enums. Organizing Data into Collections. Handling Events. Hands on Writing the Grades Prototype Application. Classes and Type-safe collections Creating Classes. Defining and Implementing Interfaces. Implementing Type-safe Collections. Hands on Adding Data Validation and Type-safety to the Grades Application. Class hierarchy using Inheritance Class hierarchies. Extending .NET framework classes. Creating generic types. Hands on Refactoring common functionality into the User Class. Reading and writing local data Reading and Writing Files. Serializing and Deserializing Data. Performing I/O Using Streams. Hands on Generating the Grades Report. Accessing a Database Creating and using entity data models. Querying and updating data by using LINQ. Hands on Retrieving and modifying grade data. Accessing remote data Accessing data across the web and in the cloud. Hands on Modifying grade data in the Cloud. Designing the UI for a graphical applicatione Using XAML to design a User Interface. Binding controls to data. Styling a UI. Hands on Customizing Student Photographs and Styling the Application. Improving performance and responsiveness Implementing Multitasking by using tasks and Lambda Expressions. Performing operations asynchronously. Synchronizing concurrent data access. Hands on Improving the responsiveness and performance of the application. Integrating with unmanaged code Creating and using dynamic objects. Managing the Lifetime of objects and controlling unmanaged resources. Hands on Upgrading the grades report. Creating reusable types and assemblies Examining Object Metadata. Creating and Using Custom Attributes. Generating Managed Code. Versioning, Signing and Deploying Assemblies. Hands on Specifying the Data to Include in the Grades Report. Encrypting and Decrypting Data Implementing Symmetric Encryption. Implementing Asymmetric Encryption. Hands on Encrypting and Decrypting Grades Reports.
Complete Python training course description Python is an agile, robust, expressive, fully objectoriented, extensible, and scalable programming language. It combines the power of compiled languages with the simplicity and rapid development of scripting languages. This course covers Python from the very basics of 'hello world!' through to object oriented programming and advanced topics such as multi threading. Hands on follows all the major sections in order to reinforce the theory. What will you learn Read Python programs. Write Python programs. Debug Python programs. Use Python's objects and memory model as well as its OOP features. Complete Python programming training course details Who will benefit: Anyone wishing to learn Python. Prerequisites: None. Duration 5 days Complete Python programming training course contents Welcome to Python: What is Python? Origins, features. Downloading and installing Python, Python manuals, comparing Python, other implementations. Getting started: Program output, the print statement, "hello world!", Program input, raw_input(), comments, operators, variables and assignment, numbers, strings, lists and tuples, dictionaries, indentation, if statement, while Loop, for loop. range(), list comprehensions. Files, open() and file() built-in functions. Errors and exceptions. Functions, Classes, Modules, useful functions. Python basics: Statements and syntax, variable assignment, identifiers, basic style guidelines, memory management, First Python programs, Related modules/developer tools. Python Objects: Other built-in types, Internal Types, Standard type operators, Standard type built-in functions, Categorizing standard types, Unsupported types. Numbers: Integers, Double precision floating point numbers, Complex numbers, Operators, Built-in and factory functions, Other numeric types. Sequences: strings, lists, and tuples: Sequences, Strings, Strings and operators, String-only operators, Built-in functions, String built-in methods, Special features of strings, Unicode, Summary of string highlights, Lists, Operators, Built-in functions, List type built-in methods, Special features of lists, Tuples, Tuple operators and built-in functions, Tuples special features, Copying Python objects and shallow and deep copies. Mapping and set types: Mapping Type: dictionaries and operators, Mapping type built-in and factory functions, Mapping type built-in methods, Dictionary keys, Set types, Set type operators, Built-in functions, Set type built-in methods. Conditionals and loops: If, else and elif statements, Conditional expressions, while, for, break, continue and pass statements, else statement . . . take two, Iterators and iter(), List comprehensions, Generator expressions. Files and input/output: File objects, File built-in functions [open() and file()], File built-in methods and attributes, Standard files, Command-line arguments, File system, File execution, Persistent storage modules. Errors and exceptions: What are exceptions? Detecting and handling exceptions, Context management, Exceptions as strings, Raising exceptions, Assertions, Standard exceptions, Creating Exceptions, Why exceptions, Exceptions and the sys module. Functions: Calling, creating and passing functions, formal arguments, variable-length arguments, functional programming, Variable scope, recursion, generators. Modules: Modules and files, Namespaces, Importing modules, Module import features, Module built-in functions, Packages, Other features of modules. Object-Oriented Programming (OOP): Classes, Class attributes, Instances, Instance attributes, Binding and method invocation, Static methods and class methods, Composition, Sub-classing and derivation, Inheritance, Built-in functions for classes, and other objects, Customizing classes with special methods, Privacy, Delegation, Advanced features of new-style classes (Python 2.2+), Related modules and documentation. Execution environment: Callable and code Objects, Executable object statements and built-in functions, Executing other programs. 'Restricted' and 'Terminating' execution, operating system interface. Regular expressions: Special symbols and characters, REs and Python, Regular expressions example. Network programming: Sockets: communication endpoints, Network programming in Python, SocketServer module, Twisted framework introduction. Internet client programming: What are internet clients? Transferring files, Network news, E-mail. Multithreaded Programming: Threads and processes Python, threads, and the global interpreter lock, The thread and threading Modules. GUI programming: Tkinter and Python programming, Tkinter Examples, Brief tour of other GUIs. Web programming: Web surfing with Python: creating simple web clients, Advanced Web clients, CGI: helping web servers process client data, Building CGI applications, Using Unicode with CGI, Advanced CGI, Web (HTTP) Servers. Database programming: Python database application programmer's interface (DB-API), ORMs. Miscellaneous Extending Python by writing extensions, Web Services, programming MS Office with Win32 COM, Python and Java programming with Jython.
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.