MySQL for developers training course description This MySQL Developers training course is designed for MySQL Developers who have a good understanding of a MySQL database and experience of using SQL commands. The course provides further practical experience in more advanced MySQL commands and SQL statements including Stored Routines, Triggers and Event Scheduling. What will you learn Provide the skills needed to write more advanced queries and database maintenance statements on a MySQL database. Use advanced features of the MySQL Client. Use advanced data types. Manage the structure of databases and tables. Manage and using indexes. Write complex SQL query statements. Use advanced SQL expressions. Use advanced SQL functions. Perform advanced Insert, Update, Delete, Replace and Truncate Operations. Use user variable syntax and properties. Import and export data from within MySQL. Import and export data from the command line. Perform complex joins to access multiple tables. Perform complex subqueries. Create, manage and us views. Use prepared statements. Create and use stored routines. Create and use triggers. Obtain database metadata. Optimize queries. Work with the main storage engines. Debug MySQL applications. MySQL for developers training course details Who will benefit: MySQL Developers who have a basic understanding of a MySQL database and SQL commands as covered on the Introduction to MySQL course. Prerequisites: MySQL foundation Duration 5 days MySQL for developers training course contents Introduction Administration and Course Materials, Course Structure and Agenda, Delegate and Trainer Introductions. Client/server concepts MySQL client/server architecture, Server modes, Using client programs, Logging in options, Configuration files, Precedence of logging in options Hands on Using client/server The MySQL client program Using MySQL interactively, The MySQL prompts, Client commands and SQL statements, Editing, Selecting a database, Help, Safe updates, Using script files, Using a source file, Redirecting output into a file, Command line execution, Mysql output formats, Overriding the defaults, Html and xml output, MySQL Utilities. Hands on Using the MySQL client program Data types Bit data type, Numeric data types, Auto_increment, Character string data types, Character sets and collation, Binary string data types, Enum and Set data types, Temporal data types, Timezone support, Handling Missing Or Invalid Data Values, SQL_MODE options. Hands on Using data types Identifiers Using Quotes with identifier naming, Case sensitivity in Identifier naming, Qualifying columns with table and database names, Using reserved words as identifiers, Function names Hands on Using identifiers Databases Database properties, Creating a database, Selecting a database, Altering databases, Dropping databases, Obtaining database metadata, The SHOW command, The INFORMATION_SCHEMA database, The SHOW CREATE command Hands on Using databases Tables and indexes Table properties, Creating tables, Create table using Select or Like, Temporary tables and memory tables, Altering tables, Adding columns, Changing column widths and types, Renaming columns, Dropping columns, Adding constraints, Dropping constraints, Renaming tables, Change the table storage engine, Multiple alterations, Dropping tables, Emptying tables, Obtaining table metadata, Show create table, The information_schema, Index introduction, Structure of a mysql index, Creating and dropping indexes, Creating an index, Altering a table to add an index, Specifying index type, Dropping indexes, Obtaining Index Metadata. Hands on Creating, altering and dropping tables/indexes Querying for data The SQL select statement and MySQL differences, Advanced order by, Order by and collation, Order by with enum datatype, Order by with Set datatype, Ordering with distinct and group by Special features of union, Limit and order by clauses, Group By clause, Group_concat, Using Rollup in a Group By clause. Hands on Querying for data SQL Expressions and functions Components of expressions, Nulls, Numeric expressions, String expressions, Temporal expressions, Comparison functions, Flow control functions, Numeric functions, String functions, Temporal functions. Hands on Using expressions and functions Updating data Update operations and privileges, Inserting rows, Insert using a set clause, Inserting duplicate values, Replacing rows, Updating rows, Update using the order by and limit clauses, Deleting rows, The delete and truncate statements. Exercise: Inserting, updating, replacing and deleting data Connectors MySQL client interfaces, MySQL connectors, Oracle and community conectors, Connecting to MySQL server using Java and PHP connectors, MySQL and NoSQL, Innodb integration with memcached. Obtaining database metadata What is metadata?, The mysqlshow utility, The show and describe commands, Describing tables, The information_schema, Listing tables, Listing columns, Listing views, Listing key_columns_usage. Hands on Obtaining database metadata Debugging Mysql error messages, The show statement, Show errors, Show count(*) errors, Show warnings, Show count(*) warnings, Note messages, The perror utility. Hands on Debugging Joins Overview of inner joins, Cartesian product, Inner joins with original syntax, Non equi-join, Using table aliases to avoid name clashes, Inner Joins With ISO/ANSI Syntax, Outer Joins, Left outer joins, Right outer joins, Full outer joins, Updating multiple tables simultaneously, Updating rows in one table based on a condition in another, Updating rows in one table reading data from another, Deleting from multiple tables simultaneously, Deleting rows in one table based on a condition in another. Hands on Coding joins Subqueries Types of subquery, Multiple-column subqueries, Correlated subqueries, Using the ANY, ALL and SOME operators, Using the EXISTS operator, Subqueries as scalar expressions, Inline views, Converting subqueries to joins, Using subqueries in updates and deletes. Hands on Coding subqueries Views Why views are used, Creating views, View creation restrictions, View algorithms, Updateable views, Altering and dropping views, Displaying information about views, Privileges for views. Hands on Using views Import and Export Exporting using SQL, Privileges required to export data, Importing using SQL, Messages when loading data, Privileges required to load data, Exporting from the command line, Mysqldump main options, Importing from the command line, Mysqlimport main options. Hands on Importing and exporting User variables and prepared statements Creating User variables, User variables in a select, Prepared statements, The prepare statement, The execute statement, The deallocate statement, Using prepared statements in code, with connectors. Hands on Using variables and prepared statements Introduction to stored routines Types of stored routines, Benefits of stored routines, Stored routine features, Differences between procedures and functions, Introduction to the Block, Declaring variables and constants, Assigning values to variables, Definer rights and invoker rights, Using SELECT in stored routines, Altering and dropping stored routines, Obtaining stored routine metadata, Stored routine privileges and execution security. Hands on Writing simple stored routines Stored routines - program logic The IF .. THEN .. ELSEIF construct, The CASE statement, The basic loop, The while loop, The repeat loop, The iterate statement, Nested loops. Hands on Writing stored routines with program logic Stored routines - exception handlers and cursors Dealing with errors using Exception handlers, Cursors, What is a cursor?, Cursor operations, Declaring cursors, Opening and closing cursors, Fetching rows, Status checking. Hands on Writing stored routines with program logic Procedures with parameters Creating procedures with parameters, Calling Procedures With Parameters. Hands on Writing stored routines with parameters Functions What is a function?, The create function statement, Executing functions, Executing functions from code, Executing functions from SQL statements, The deterministic and SQL clauses. Hands on Writing functions Triggers Trigger creation, Restrictions on triggers, The create trigger statement, Using the old and new qualifiers, Managing triggers, Destroying triggers, Required privileges. Hands on Writing triggers Basic optimizations Normalisation of data to third normal form, Using indexes for optimization, General query enhancement, Using Explain to analyze queries, Choosing an INNODB or MYISAM storage engine, Using MySQL Enterprise Monitor in query optimization. Hands on Making use of basic optimizations More about indexes Indexes and joins Hands on Investigating indexes and joins
About this Training Course On a day-to-day basis, one of the most common technologies utilised in well intervention is Coiled Tubing. This is prevalent in the oil industry and the technology is used during drilling, completion and production phases of Oil & Gas wells worldwide. This 5 full-day course will look at the following areas: Equipment for surface and pressure control Assembly components for bottom-hole Details of the different types of interventions performed with Coiled Tubing, and How to deal with fatigue and corrosion. The aim of this course is to enable the participants to gain key knowledge that they will require to actively and efficiently participate in the planning, design, and / or execution of a Coiled Tubing intervention. With this, the participants will learn how to calculate the string operating limits and the volumes and rates during nitrogen interventions. The course will walk the participants through the emergency responses and contingencies to deal with in various scenarios. Time will be allocated for the participants to work on the practical exercises as well as real field cases and problems. This course can also be offered through Virtual Instructor Led Training (VILT) format. Training Objectives By the end of the course, the participants will be able to: Plan, design, manage and execute interventions for Coiled Tubing Enhance operational performance during interventions for Coiled Tubing Explain the recommended equipment for various Coiled Tubing field conditions and applications Discuss the proper pressure control equipment for any particular well condition Learn about the most commonly used downhole tools and explain their function Understand how to calculate and define string limits for Coiled Tubing Learn how to work safely with liquid nitrogen Target Audience This course is aimed at Drilling and completion engineers Production engineers Surface/subsurface engineers Operations engineers Service company managers Field engineers This course will also benefit professionals who would like to increase their knowledge in the planning, design and/or execution of Coiled Tubing and Liquid Nitrogen interventions. Course Level Basic or Foundation Training Methods Other than the daily quizzes to reinforce the materials presented in the session, the participants will work through exercises such as: Selecting suitable BHAs for various operations Rigging up equipment in the correct order and preparing an outline testing programme Carrying out suitable calculations to perform an N2 lift Preparing an outline programme for a balanced cement plug Identifying issues in various videos & photos and suggesting mitigations Basic N2 safety quiz Final exercise will be preparing an outline programme for a Proppant Clean out, including a detailed Risk Register and Mitigation options Trainer Your expert course instructor has over 40 years of experience in the Oil & Gas industry. During that time, he has worked exclusively in well intervention and completions. After a number of years working for intervention service companies (completions, slickline & workovers), he joined Shell as a well service supervisor. He was responsible for the day-to-day supervision of all well intervention work on Shell's Persian/Arabian Gulf platforms. This included completion running, coil tubing, e-line, slickline, hydraulic workovers, well testing and stimulation operations. An office-based role as a senior well engineer followed. He was responsible for planning, programming and organising of all the well engineering and intervention work on a number of fields in the Middle East. He had a brief spell as a Site Representative for Santos in Australia before joining Petro-Canada as Completions Superintendent in Syria, then moved to Australia as Completions Operations Superintendent for Santos, before returning to Shell as Field Supervisor Completions and Well Interventions in Iraq where he carried out the first ever formal abandonment of a well in the Majnoon Field. While working on rotation, he regularly taught Completion Practices, Well Intervention, Well Integrity and Reporting & Planning courses all over the world. In 2014, he started to focus 100% on training and became the Technical Director for PetroEDGE. Since commencing delivering training courses in 2008, he has taught over 300 courses in 31 cities in 16 countries to in excess of 3,500 participants. 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
REXX training course description A hands on training course covering the Restructured EXtended eXecutor (REXX) language. A large number of exercises are used to reinforce and emphasise lecture sessions. What will you learn Write REXX programs. Debug REXX programs. Examine existing code and determine its function. REXX training course details Who will benefit: Anyone wishing to learn REXX. Prerequisites: None although experience in another high level language would be useful. Duration 3 days REXX training course contents Introduction to REXX What is REXX? REXX environments, invoking a REXX exec, a sample REXX exec, REXX clause types. REXX variables and data Literal data, variable data, assignment, simple variables, compound variables, stem variables, constant data, numeric data, arithmetic operations, character manipulation, hexadecimal data. The parse instruction Parse format, Parse examples, Parse arg, Parse pull, Parse value, special templates, place holders, literal templates, numeric templates, variable templates. Control structures Relational conditions, logical operators, simple selection, looping: uncontrolled and controlled loops, infinite loops, conditional loops, controlling loops, leave, iterate, multiple selection, instructions for subroutines, exit. Sub routines and functions Internal and external subroutines, call, ARG(), ARG(n)return, exit, scope of variables, procedure, functions, built in functions, overriding built in functions. Performing I/O Command conventions, preparing to read a file, execio, limitations, execio for reading, DISKR, DISKRU, DISKW, return codes. External functions listdsi, msg, outtrap, prompt, sysdsn, sysvar, storage Tracing Immediate commands, the trace facility, signal and call statements. Built in functions Text handling functions, string handling, word handling, arithmetic, data conversion, bit manipulation, environment. The data stack Data stack structure, REXX instructions for the data stack, REXX functions for the data stack, TSO/E commands for the data stack. REXX in batch TSO/E foreground. TSO/E background.
Oracle SQL training course description The Oracle SQL course is designed to give delegates practical experience in writing SQL statements and scripts using Oracle SQL. The basic SELECT statement, the use of SQL functions and the basic table and view handling statements are introduced. What will you learn Create SQL statements to query database tables. Use standard aggregate functions and related SELECT statement clauses. Join Tables. Use basic subqueries and the set operators. Use numeric, character and date functions. Use conversion and other miscellaneous functions. Use SQL parameters. Use complex subqueries. Create and alter tables and views. Insert, update and delete rows in database tables. Manage sequences and synonyms. Oracle SQL training course details Who will benefit: Anyone who needs to use and understand Oracle SQL to query and update data in an Oracle database. Prerequisites: None. Duration 3 days Oracle SQL training course contents Retrieving data with the SELECT statement The SELECT statement, The SELECT and FROM clauses, Conditions and the WHERE clause, Other conditional operators, Logical operators, The ORDER BY clause, Column aliases, Arithmetic expressions, Precedence of operators. Aggregate functions Overview of built In aggregate functions, The GROUP BY clause, The HAVING clause. Joining tables Overview of table joins, Inner joins, Table aliases, Outer joins, Self joins, ANSI standard joins. Basic subqueries and set operators Overview of subqueries, Basic subqueries, Set operators, The union, intersect and ,minus operators. Numeric, character and data functions Function types, Using the table dual to try out functions, Numeric functions, Character functions, String concatenation, Date arithmetic and date functions. Conversion and miscellaneous functions Conversion functions, The NVL and NVL2 functions, The DECODE function, CASE expressions, The COALESCE and NULLIF functions. SQL parameters Command line substitution parameters, The accept command, The define and undefine commands. Complex subqueries Subqueries usage, In-line views, Top-N queries, Subqueries with joins, Multi column subqueries, Correlated subqueries, Subquery rules, Using the ANY, ALL and SOME operators. Managing data Inserting rows, Updating rows, Deleting rows, Verifying updates, Transaction control, Commit and rollback, Savepoints, Commits and constraints, Amending data in SQL developer. Managing tables Creating tables, Specifying constraints, Altering tables, columns and constraints, Dropping tables, columns and constraints, Recovering dropped tables, Copying tables. Managing indexes and views Creating indexes, Dropping indexes, Listing indexes, Creating and using views, Dropping views, Listing views. Managing sequences and synonyms Create a sequence, View sequence details, Create a synonym, List synonyms.
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.
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
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.