What you'll get upon enrolling.. 60+ video lessons4+ hours of Theory and PracticalPDF NotesTools ListSetup Points Sheet What's covered.. Setup Theory and Practicals 1 - Tuning up correctly. 2 - Neck Relief & Truss Rod Adjustment. 3 - Action height 1st & 12th fret. 4 - Saddle Radius. 5 – Set the floating Bridge 6 - Intonation. Maintenance Theory and Practicals 1 - Fretboard cleaning/treatment. 2 - Fret Polishing. 3 - Electrics. 4 - General clean. 5 - String up & stretching the strings in. 6 - Pickup Height and adjustment. https://www.guitartechcourses-academy.com/p/guitar-pro-setup
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.
Duration 4 Days 24 CPD hours This course is intended for This course is Intended for students with HTML Experience. Overview At the completion of the course, you will be able to: How PHP works. The basic syntax of PHP. Create dynamic interactive pages with PHP. Manipulate files with PHP. Work with arrays in PHP. Validate forms with PHP. Write functions in PHP. Manipulate and manage database data with PHP. Authenticate users with PHP. Manage sessions with PHP. Work with the MDB2 package. Learn advanced form validation with regular expressions. Send email with PHP. In this PHP training course, students will learn to create database-driven websites using PHP and MySQL or the database of their choice. PHP Basics How PHP Works The php.ini File Basic PHP Syntax Variables First PHP Script PHP Operators Creating Dynamic Pages Passing Variables via the Query String Flow Control Conditional Processing Working with Conditions Loops Working with Loops Arrays Enumerated Arrays Working with Enumerated Arrays Associative Arrays Working with Associative Arrays Two-dimensional Arrays Array Manipulation Functions PHP and HTML Forms HTML Forms Processing Form Input String Manipulation Formatting Strings Working with String Manipulation Functions Magic Quotes Reusing Code and Writing Functions Including Files Adding a Header and Footer User Functions Form Processing Form Validation and Presentation Functions Managing Data Querying a Database Inserting Records Authentication with PHP and SQL A Database-less Login Form Authenticating Users Regular Expressions Perl-compatible Regular Expression Functions Regular Expression Syntax Form Validation Functions with Regular Expressions Session Control and Cookies Sessions Cookies Authentication with Session Control Sending Email with PHP mail() PHPMailer Sending a Password by Email File System Management Opening a File Reading from a File Writing to a File Writing to a File File Locking Uploading Files via an HTML Form Getting File Information More File Functions Directory Functions Creating a Resume Management Page
Duration 5 Days 30 CPD hours This course is intended for This course is intended for novice database developers, database administrators, Business Intelligence developers, report creators, and application developers who have an understanding of relational database concepts and have basic Windows navigation skills. Overview Create single table SELECT queries Create multiple table SELECT queries Filter and sort data Insert, update, and delete data Query data using built-in functions Create queries that aggregate data Create subqueries Create queries that use table expressions Use UNION, INTERSECT, and EXCEPT on multiple sets of data Implement window functions in queries Use PIVOT and GROUPING SETS in queries Use stored procedures in queries Add error handling to queries Use transactions in queries This five-day instructor-led course is intended for IT professionals who wish to use the Transact-SQL language to query and configure Microsoft SQL Server. Students are typically database developers and database administrators, but might also be Business Intelligence developers, report creators, or application developers. In this course, students learn how to query single tables, join data from multiple tables, filter and sort data, modify data, use procedures and functions, and implement error handling. Prerequisites Basic understanding of relational databases. Basic Windows knowledge. Module 1: Introduction to Transact-SQL What is Transact-SQL The SELECT statement The WHERE clause Sorting results Calculations CASE expressions Module 2: Joining tables with Transact-SQL The JOIN clause Inner joins Outer joins Self joins and cross joins Module 3: Filtering and sorting results Implement the ORDER BY clause Filter data with the WHERE clause Limit the number of rows returned by a query Implement NULL logic Module 4: SQL Server data types Understand data types Implement string data types Implement temporal data types Module 5: Inserting, updating and deleting data Insert new records Update existing records Delete data Module 6: Using SQL Server functions with Transact-SQL Understand function types in SQL Server Convert data using functions Implement logical functions Work with NULL data using functions Module 7: Aggregating data with Transact-SQL Implement aggregation in SQL Server Group records in SQL Server Filter aggregated data Module 8: Implement subqueries with Transact-SQL Implement scalar and multi-valued sub-queries Implement correlated subqueries Implement existence checks with subqueries Module 9: Create queries that use table expressions Create views Create table-valued functions Implement derived tables Implement common table expressions Module 10: Use UNION, INTERSECT, EXCEPT and APPLY on multiple sets of data Write queries with the UNION operator Write queries with the INTERSECT and EXCEPT operators Write queries with the APPLY operator Module 11: Implement window functions in queries Understand window functions Impement window functions Module 12: Use PIVOT and grouping sets in queries Implement PIVOT in queries Implement grouping sets in queries Module 13: Use stored procedures in queries Query data with stored procedures Interact with stored procedures using input and output parameters Write simple stored procedures Pass dynamic SQL to SQL Server Module 14: Implement programming features in Transact-SQL Understand T-SQL programming elements Implement loops and conditions in T-SQL queries Module 15: Add error handling to queries Understand SQL Server error handling Implemet structured exception handling Module 16: Use transactions in queries Understand database transactions Implement transactions in T-SQL
Duration 4 Days 24 CPD hours This course is intended for This is an introductory-level Java programming course, designed for experienced developers who wish to get up and running with Java, or who need to reinforce sound Java coding practices, immediately. Overview Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Understand not only the fundamentals of the Java language, but also its importance, uses, strengths and weaknesses Understand the basics of the Java language and how it relates to OO programming and the Object Model Learn to use Java exception handling features Work with the Modular system (Project Jigsaw) Understand and use classes, inheritance and polymorphism Understand and use collections, generics, autoboxing, and enumerations Process large amount of data using Lambda expressions and the Stream API Abstract, static and private methods in interfaces Take advantage of the Java tooling that is available with the programming environment being used in the class Specific Java 11 features covered: Using the Local Variable Type in Lambda expressions; Updates made to the String AP Time Permitting: Quick look ahead - Java 12, Java 13, Java 14 and Beyond If you're an experienced OO developer (coming from a C# or C++ background, etc.) who needs to transition to programming in Java, this fast-paced, hands-on course will get you there quickly. Fast Track to Java Programming for OO Experienced Developers is a four-day, lab-intensive class where you'll quickly be immersed in working with the latest Java 11 programming techniques, using best practices for writing solid, robust (and well-written!) modern object-oriented applications. In addition to learning excellent, current coding skills in Java, you'll explore the new improved features for better performance and new capabilities for addressing rapid application development that Java 11 brings to the table. This course includes several key aspects that were introduced in Java 9, Java 10, and Java 11 including the Java Modular System, Local Variable Type Inference, and several API updates. This course also includes a Quick Look at what?s next in Java ? Java 12, Java 13, Java 14 and beyond. The Java Platform Java Platforms Lifecycle of a Java Program Responsibilities of JVM Documentation and Code Reuse Using the JDK Setting Up Environment Locating Class Files Compiling Package Classes Source and Class Files Java Applications The Eclipse Paradigm Workbench and Workspace Views Editors Perspectives Projects Writing a Simple Class Classes in Java Class Modifiers and Types Class Instance Variables Primitives vs. Object References Creating Objects Adding Methods to the Class Passing Parameters into Methods Returning a Value from a Method Overloaded Methods Constructors Optimizing Constructor Usage Language Statements Operators Comparison and Logical Operators Looping Continue and Break Statements The switch Statement The for-each() Loop Using Strings Create an instance of the String class Test if two strings are equal Get the length of a string Parse a string for its token components Perform a case-insensitive equality test Build up a string using StringBuffer Contrast String, StringBuffer, and StringBuilder Specializing in a Subclass Extending a Class Casting The Object Class Default Constructor Implicit Constructor Chaining Fields and Variables Instance vs. Local Variables: Usage Differences Data Types Default Values Block Scoping Rules Final and Static Fields Static Methods Using Arrays Arrays Accessing the Array Multidimensional Arrays Copying Arrays Variable Arguments Local-Variable Type Inference Type inference Infering Types of Local Variables The var Reserved Type name Benefits of Using var Backward Compatibility Java Packages and Visibility Class Location of Packages The Package Keyword Importing Classes Executing Programs Visibility in the Modular System Java Naming Conventions Inheritance and Polymorphism Polymorphism: The Subclasses Upcasting vs. Downcasting Calling Superclass Methods from Subclass The final Keyword Interfaces and Abstract Classes Separating Capability from Implementation Abstract Classes Implementing an Interface Abstract Classes vs. Interfaces Introduction to Exception Handling Exception Architecture Throwing Exceptions Checked vs. Unchecked Exceptions Exceptions Handling Multiple Exceptions Automatic Closure of Resources Creating Your Own Exceptions Utility Classes Wrapper Classes Autoboxing/Unboxing Enumeration Syntax Using Static imports Introduction to Generics Generics and Subtyping Bounded Wildcards Generic Methods Legacy Calls to Generics When Generics Should Be Used Lambda Expressions and Functional Interface Lambda Expression Syntax Functional Interfaces Type Inference in Java 8 Method references Collections Characterizing Collections Collection Interface Hierarchy The Set, List and Queue Interfaces Map Interfaces Using Collections Collection Sorting Comparators Using the Right Collection Lambda expressions in Collections Streams Processing Collections of data The Stream interface Reduction and Parallelism Filtering collection data Sorting Collection data Map collection data Find elements in Stream Numeric Streams Create infinite Streams Sources for using Streams Collectors Creating Collections from a Stream Group elements in the Stream Multi-level grouping of elements Partitioning Streams Introduction to the Module System Introduce Project Jigsaw Classpath and Encapsulation The JDK internal APIs Java 9 Platform modules Defining application modules Define module dependencies Implicit dependencies Implied Readability Exporting packages Java Date/Time The Date and Calendar classes Introduce the new Date/Time API LocalDate, LocalDateTime, etc. Formatting Dates Working with time zones Manipulate date/time values Java 12 and beyond Provide an overview of changes since Java 11 Introduce Preview Features Records (Java 14) Switch Expressions (Java 12, Java 13, Java 14) Text Blocks (Java 13, Java 14) Helpful NullPointerExceptions (Java 14) Pattern Matching for instanceof (Java 14) Additional course details: Nexus Humans Fast Track to Core Java Programming for Object Oriented Developers (TT2104-J11) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Fast Track to Core Java Programming for Object Oriented Developers (TT2104-J11) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
About this training course Gas well performance is dictated by the combination of inflow and outflow performance. The outflow performance of any gas well is at risk as soon as the gas rate becomes insufficient to lift the associated liquid water and condensate to surface. This condition is referred to as liquid loading and invariably causes intermittent production and significant loss of well capacity and reserves. Liquid loading can be mitigated by different types of gas well deliquification such as compression, velocity string, plunger lift, foam-assisted lift, gas lift and downhole pump. This 5 full-day course will first show how to predict and recognize liquid loading. Next, it will describe how to select, design, install and operate the best sequence of deliquification measures. It will also consider deliquification in the presence of other production threats such as water production and halite blockage. These topics will be illustrated by an abundance of field examples and case studies. The participants will be completing a case study during the training. This case study is preferably based on their own relevant data set. If no such data is available, an external data set will be provided instead. Prerequisites skills: It is necessary for the participants to have a basic knowledge of petroleum engineering and gas well performance. This course can also be offered through Virtual Instructor Led Training (VILT) format. Training Objectives On completion of this course, the participants will be able to: Develop skills and tools to understand and model gas well liquid loading and deliquification Understand the principles and practicalities of different deliquification methods Learn how to compare, select and apply deliquification measures by taking own field case as example Target Audience This course is intended for production engineer, surveillance engineer, completion engineer, production/process chemist, reservoir engineer, production programmer, production operator as well as professionals responsible for selecting, installing, operating, monitoring and optimizing deliquification. Course Level Basic or Foundation Training Methods This course utilizes Excel worksheets first introduced in the Optimising Gas Well Performance course. To derive maximum learning value, the participants are requested to bring their own relevant set of field data to complete their own case study during the training. The list of data required will be shared beforehand so data can be timely collected and cleared for external use. The participants should be prepared to complete any unfinished exercises and assignments before next day's session starts. The instructor will be available to discuss any remaining queries after the completion of the course. Trainer Your expert course leader brings with him 35 years of oil and gas field experience within Shell of which 25 years as gas well production engineer. He has covered the full spectrum of activities moving from R&D to green field development to brown field surveillance and optimisation, to become a leading gas well performance and deliquification specialist. He likes to capture the complex reality of gas well inflow, outflow and reservoir performance by means of practical data-driven rules and tools that cover a wide range of conditions i.e. shallow-to-deep, prolific-to-tight, dry-to-wet, green-to-brown, 1-1/2'-to-9-5/8' tubing, and depletion-to-aquifer drive. Before his retirement in end 2020, he worked for various Shell affiliated oil and gas companies including Shell Malaysia, Petroleum Development Oman, NAM Netherlands and Shell R&D in Netherlands and USA. POST TRAINING COACHING SUPPORT (OPTIONAL) To further optimise your learning experience from our courses, we also offer individualized 'One to One' coaching support for 2 hours post training. We can help improve your competence in your chosen area of interest, based on your learning needs and available hours. This is a great opportunity to improve your capability and confidence in a particular area of expertise. It will be delivered over a secure video conference call by one of our senior trainers. They will work with you to create a tailor-made coaching program that will help you achieve your goals faster. Request for further information post training support and fees applicable Accreditions And Affliations
LOOKING FOR: MG, YA, ADULT FICTION, NON-FICTION Una is a Rights Agent at Susanna Lea Associates and am starting to build a client list. She grew up in London and graduated from the University of Cambridge with a BA in English in 2021. At university, Una was particularly interested in contemporary West African and South Asian literature. She started as an agent's assistant at SLA London in 2022 and now handles some translation rights and provides support with editorial work and submissions. Una's favourite reads always set her at ease right away and draws her in with impressive and accessible storytelling, memorable characters or an original hook. Una enjoys writing which expands her worldview, makes her laugh out loud or keeps her on her toes with its twists and turns. She welcomes submissions from debut authors and would be keen to read across a wide range of genres and styles. She is looking for literary, upmarket and book club fiction, and is always drawn to stories that explores the challenges and complexities of love and relationships in all its forms —within families, between friends or in romantic relationships. Una loves the way in which familial relationships are dissected in The Wren, The Wren by Anne Enright and the impact of the local community in Small Worlds by Caleb Azumah Nelson. She is always drawn to novels with a strong sense of community, whether they are unified by geography, culture, or in other unexpected ways. Una has always loved reading international and translated fiction and welcomes submissions from authors writing contemporary fiction that engages with cultures and traditions from around the world, such as in voices of the deities in Freshwater by Akwaeke Emezi or the subversive tales of Sayaka Murata. She is not looking for children’s or YA titles, science fiction or high-concept fantasy, but is open to submissions from authors writing in the speculative fiction space, and books with fantastical or otherworldly elements, be that magical realism or supernatural horror, such as Mona Awad's campus novel with a twist, Bunny. Una would also love to read more writing that engages with the natural world and reminds us of the limitations of human understanding. In non-fiction, Una enjoys books that furthers her understanding of wider societal issues — nature and the environment, culture, and little-known history. Her recent non-fiction favourites are Eve by Cat Bohannon, Doppelgänger by Naomi Klein and Unearthed by Claire Ratinon. Una would like you to submit a covering letter, 1 page synopsis and the first three chapters or 5,000 words of your manuscript in a single word document. (In addition to the paid sessions, Una is kindly offering one free session for low income/under-represented writers. Please email agent121@iaminprint.co.uk to apply, outlining your case for this option which is offered at the discretion of I Am In Print). By booking you understand you need to conduct an internet connection test with I Am In Print prior to the event. You also agree to email your material in one document to reach I Am In Print by the stated submission deadline and note that I Am In Print take no responsibility for the advice received during your agent meeting. The submission deadline is: Monday 7th April 2025
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.
Duration 4 Days 24 CPD hours This course is intended for This is an introductory-level C++ programming course designed for developers with experience programming in C or other languages. Practical hands-on prior programming experience and knowledge is required. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn: Writing procedural programs using C++ Using private, public and protected keywords to control access to class members Defining a class in C++ Writing constructors and destructors Writing classes with const and static class members Overloading operators Implementing polymorphic methods in programs Writing programs using file I/O and string streams Using manipulators and stream flags to format output Using the keyword template to write generic functions and classes Writing programs that use generic classes and functions Writing programs that use algorithms and containers of the Standard Library Apply object-oriented design techniques to real-world programming problems Using algorithms and containers of the Standard Library to manipulate string data Understand how C++ protects the programmer from implementation changes in other modules of an application Using try() blocks to trap exceptions Using catch() blocks to handle exceptions Defining exceptions and using throw to trigger them Introduction to C++ Programming / C++ Essentials is a skills-focused, hands-on C++ training course geared for experienced programmers who need to learn C++ coupled with sounds coding skills and best practices for OO development. Students will leave this course armed with the required skills to put foundation-level C++ programming skills right to work in a practical environment. The central concepts of C++ syntax and style are taught in the context of using object-oriented methods to achieve reusability, adaptability and reliability. Emphasis is placed on the features of C++ that support abstract data types, inheritance, and polymorphism. Students will learn to apply the process of data abstraction and class design. Practical aspects of C++ programming including efficiency, performance, testing, and reliability considerations are stressed throughout. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency Moving from C to C++ (Optional) New Compiler Directives Stream Console I/O Explicit Operators Standard Libraries Data Control Capabilities Handling Data New Declaration Features Initialization and Assignment Enumerated Types The bool Type Constant Storage Pointers to Constant Storage Constant Pointers References Constant Reference Arguments Volatile Data Global Data Functions Function Prototypes and Type Checking Default Function Data Types Function Overloading Problems with Function Overloading Name Resolution Promotions and Conversions Call by Value Reference Declarations Call-by-Reference and Reference Types References in Function Return Constant Argument Types Conversion of Parameters Using Default Initializers Providing Default Arguments Inline Functions Operator Overloading Advantages and Pitfalls of Overloading Member Operator Syntax and Examples Class Assignment Operators Class Equality Operators Non-Member Operator Overloading Member and Non-Member Operator Functions Operator Precedence This Pointer Overloading the Assignment Operator Overloading Caveats Creating and Using Objects Creating Automatic Objects Creating Dynamic Objects Calling Object Methods Constructors Initializing Member consts Initializer List Syntax Allocating Resources in Constructor Destructors Block and Function Scope File and Global Scope Class Scope Scope Resolution Operator :: Using Objects as Arguments Objects as Function Return Values Constant Methods Containment Relationships Dynamic Memory Management Advantages of Dynamic Memory Allocation Static, Automatic, and Heap Memory Free Store Allocation with new and delete Handling Memory Allocation Errors Controlling Object Creation Object Copying and Copy Constructor Automatic Copy Constructor Conversion Constructor Streaming I/O Streams and the iostream Library Built-in Stream Objects Stream Manipulators Stream Methods Input/Output Operators Character Input String Streams Formatted I/O File Stream I/O Overloading Stream Operators Persistent Objects Introduction to Object Concepts The Object Programming Paradigm Object-Orientated Programming Definitions Information Hiding and Encapsulation Separating Interface and Implementation Classes and Instances of Objects Overloaded Objects and Polymorphism Declaring and Defining Classes Components of a Class Class Structure Class Declaration Syntax Member Data Built-in Operations Constructors and Initialization Initialization vs. Assignment Class Type Members Member Functions and Member Accessibility Inline Member Functions Friend Functions Static Members Modifying Access with a Friend Class Templates Purpose of Template Classes Constants in Templates Templates and Inheritance Container Classes Use of Libraries Strings in C++ Character Strings The String Class Operators on Strings Member Functions of the String Class Inheritance Inheritance and Reuse Composition vs. Inheritance Inheritance: Centralized Code Inheritance: Maintenance and Revision Public, Private and Protected Members Redefining Behavior in Derived Classes Designing Extensible Software Systems Syntax for Public Inheritance Use of Common Pointers Constructors and Initialization Inherited Copy Constructors Destructors and Inheritance Public, Protected, Private Inheritance Exceptions Types of Exceptions Trapping and Handling Exceptions Triggering Exceptions Handling Memory Allocation Errors C++ Program Structure Organizing C++ Source Files Integrating C and C++ Projects Using C in C++ Reliability Considerations in C++ Projects Function Prototypes Strong Type Checking Constant Types C++ Access Control Techniques Polymorphism in C++ Definition of Polymorphism Calling Overridden Methods Upcasting Accessing Overridden Methods Virtual Methods and Dynamic Binding Virtual Destructors Abstract Base Classes and Pure Virtual Methods Multiple Inheritance Derivation from Multiple Base Classes Base Class Ambiguities Virtual Inheritance Virtual Base Classes Virtual Base Class Information The Standard Template Library STL Containers Parameters Used in Container Classes The Vector Class STL Algorithms Use of Libraries