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
5G training course description This course is designed to give the delegate an understanding of the technologies and interworking requirements of the next generation of cellular communications. It is not a definitive set of descriptions but a possibility of the final deployment. During the course we will investigate the 10 pillars for 5G, which will include various Radio Access Technologies that are required to interwork smoothly. Hence we will look at the 4G Pro features and other RATs. What will you learn List the ten pillars of 5G deployment. Explain the 5G Internet and Software Distributed Networks (SDN). Explain carrier aggregation, the mobile cloud and RAT virtualisation. Explain an overall picture of 5G architecture. 5G training course details Who will benefit: Anyone who is looking to work with next generation networks. Prerequisites: Mobile communications demystified Duration 3 days 5G training course contents Drivers for 5G 5G Road Map, 10 Pillars of 5G, evolving RATs, small cell, o SON, MTCm, mm-wave, backhaul, EE, new spectrum, spectrum sharing, RAN virtualisation. 4G LTE advanced features *MIMO, Downlink & uplink MIMO R8, MIMO technology in LTE advanced, Downlink 8-layer SU-MIMO, Downlink MU-MIMO, Uplink MU-MIMO, Uplink transmit diversity, Coordinated multi-point operation (CoMP), Independent eNB & remote base station configurations, Downlink CoMP, * Uplink Multi-Cell Reception. ICIC & eICIC ICIC, Homogeneous to heterogeneous network, eICIC, Macro-pico scenario, Macro-femto scenario, Time orthogonal frequencies. Almost Blank Subframe (ABS). Carrier aggregation Component carriers (CC), * CC aggregation, Intra-band contiguous solutions, Intra-band non-contiguous solutions, Inter-band non-contiguous solutions, CA bandwidth classes, Aggregated transmission bandwidth configurations (ATBC), Possible carrier aggregation configurations (Rel 9, 10 & 12). Enhanced Interference Mitigation & Traffic Adaptation (eIMTA) TDD UL-DL reconfiguration for traffic adaptation, Reconfiguration mechanisms, Interference mitigation schemes, Dynamic & flexible resource allocation. 5G architectures 5G in Europe, horizon 2020 framework, 5G infrastructure PPP, METIS project, innovation centre, 5G in North America, research, company R & D, 5G specifications. The 5G internet Cloud services, IoT & context awareness, network reconfiguration & virtualization support, hypervisors, SDN, the controller, service-oriented API, OpenFlow switches, SDN operation, SDN control for traffic flow redirection, OpenFlow controllers, how SDN works, application, control and infrastructure layers, a programmable network, how SDN & NFV tie together, SDN's downside, SDN orchestration, Mobility, architectures for distributed mobility management, MEDIEVAL & MEDIVO projects, a clean slate approach, mobility first architecture, network virtualization (VNet), INM, NetInf, ForMux, MEEM, GP & AM, QoS support, network resource provisioning, IntServ, RSVP, DiffServ, CoS, aggregated resource provisioning, SICAP, MARA, Emerging approach for resource over-provisioning, example use case architecture for the 5G internet, integrating SDN/NFV for efficient resource control, control information repository, service admission control policies, network resource provisioning, control enforcement functions, network configurations, network operations. Small cells for 5G Average spectral efficiency evolution, What are small cells? WiFi & Femto cells as candidate small-cell technologies, Capacity limits & achievable gains with densifications, gains with multi-antenna techniques, gains with small cells, Mobile data demand, approach & methodology, subscriber density projections, traffic demand projections, global mobile data traffic increase modelling, country level backhaul traffic projections, 2020 average spectrum requirement, Small cell challenges, backhaul, spectrum, automation. Cooperation for next generation wireless networks Cooperative diversity & relaying strategies, Cooperative ARQ & MAC protocols, NCCARQ & PRCSMA packet exchange, Physical layer impact on MAC protocol, NCCARQ overview, PHY layer impact, Performance evaluation, simulation scenario and results. Mobile clouds; technology & services for future communications platforms Mobile cloud, software, hardware and networking resources, Mobile cloud enablers, mobile user domain, wireless technologies, WWAN WLAN and WPAN range, Bluetooth, IEEE.802.15.4, software stacks, infrared, near field communications (NFC), store & forward vs compute & forward, random/linear network coding. Security for 5G communications Potential 5G architectures, Security issues & challenges in 5G, user equipment, mobile malware attacks, 5G mobile botnets, attacks on 4G networks, C-RNTI & packet sequence numbers based UE location tracking, false buffer status reports attacks, message insertion attacks, HeNB attacks, physical attacks, attacks on mobile operator's network, user data & identity attacks, DDoS attacks, amplification, HSS saturation, external IP networks.
Total MPLS VPN for engineers training course description A hands on course concentrating solely on MPLS VPNs. The course begins with a review of VPN basics before moving onto L3VPNs and MBGP, followed by L2VPNs. What will you learn Compare, contrast and evaluate MPLS L2VPNs versus L3VPNs. Describe, configure and troubleshoot MPLS L3VPNs. Configure and troubleshoot MBGP. Describe, configure and troubleshoot MPLS L2VPNs. Total MPLS VPN for engineers training course details Who will benefit: Anyone working with MPLS VPNs. Prerequisites: Concise MPLS for engineers Duration 2 days Total MPLS VPN for engineers training course contents MPLS VPN basics LSR, PE and P router roles. What is a VPN? MPLS VPN types, MPLS VPN comparison, MPLS L3VPN, L2VPN. VPN architectures. Hands on: Building the base network. L3VPN Separate routing tables, The Virtual Routing Table, VRFs, Route Distinguisher (RD), VNPv4 addresses. Hands on: Minimal VRF configuration, routing between customer and provider (PE-CE). MBGP MP-BGP, IPv4 routing, IPv6 routing, VPNv4 addresses, VPNv6 addresses. Exchanging labels. Exchanging routes. Route targets, communities. Route reflectors. Hands on: MBGP setup. MPLS L3VPN troubleshooting. L2VPN Why L2 not L3? Services: TDM, ATM, Frame Relay, Ethernet. Pseudowires. Hands on: Simple L2VPN configuration. Pseudowires VPWS, AToM, Attachment Circuit, Traffic encapsulation, Ethernet over MPLS. Ethernet MTU considerations. VC types. Hands on: PW configuration and troubleshooting. VPLS Ethernet multipoint connectivity. Virtual Forwarding Instance (VFI), Virtual Switching Instance. Flooding, MAC address management, split horizons. Hierarchical VPLS. Signalling: LDP based. BGP based. Auto discovery. Hands on: VPLS configuration and troubleshooting. Next generation L2VPN E-VPN, PBB-EVPN.
SolarWinds NPM training course description A hands on course providing a solid foundation on network management using SolarWinds. The course specifically focusses on SolarWinds Orion Network Performance Monitor. The course starts with configuring agents and device discovery, onto exploiting SNMP with SolarWinds and then Alerts, reports and customisation of menus, views and maps. What will you learn Discover devices using Solarwinds. Use Solarwinds. Poll and monitor devices using Solarwinds. Create Alarms and reports. Diagnose faults using Solarwinds. SolarWinds NPM training course details Who will benefit: Technical staff working with Solarwinds. Prerequisites: None. Duration 2 days SolarWinds NPM training course content Getting started with SolarWinds What is SolarWinds, Products, ICMP, WMI, SNMP. Installing SolarWinds. Hands on Connecting to SolarWinds, configuring users and groups, using SolarWinds. Device discovery with SolarWinds Manual discovery, automatic discovery, controlling IP discovery, polling, thresholds. Hands on Adding ICMP only, SNMP and WMI nodes. dependencies, groups. Agents Configuring Cisco devices for SNMP support, communities, traps, syslog. MIBs, SNMPv3, obtaining MIB information. Universal device poller. Hands on MIB browser, MIB walking, syslog. Message center. Using SolarWinds The home page, Views, changing views, adding views. Hands on Views and menu customisation. Server monitoring. Alerts Filters, acknowledgements, notes. Basic alert configuration, Advanced alert configuration. Hands on Configuring alerts. Reports Creating reports, on demand reports, scheduled reports, customising reports, adding reports to views. Standard reports. Hands on Performance reports. Graphs. Maps Orion Network Atlas, the background, adding objects, connect now, applying to views. Hands on Customising a map. Administration Backups, the database.
Securing Kubernetes training course description This course introduces concepts, procedures, and best practices to harden Kubernetes based systems and container-based applications against security threats. It deals with the main areas of cloud-native security: Kubernetes cluster setup, Kubernetes cluster hardening, hardening the underlying operating system and networks, minimizing microservices vulnerabilities, obtaining supply chain security as well as monitoring, logging, and runtime security. What will you learn Harden Kubernetes systems and clusters. Harden containers. Configure and use Kubernetes audit logs. Securing Kubernetes training course details Who will benefit: Technical staff working with Kubernetes Prerequisites: Kubernetes_for_engineers_course.htm Definitive Docker for engineers Duration 2 days Securing Kubernetes training course contents This course does not only deal with the daily security administration of Kubernetes-based systems but also prepares delegates for the official Certified Kubernetes Security Specialist (CKS) exams of the Cloud Native Computing Foundation (CNCF). Structure: 50% theory 50% hands on lab exercise Module 1: User and authorization management Users and service accounts in Kubernetes Authenticating users Managing authorizations with RBAC Module 2: Supply chain security Vulnerabilit checking for images Image validation in Kubernetes Reducing image footprint Secure image registries Module 3: Validating cluster setup and penetration testing Use CIS benchmark to review the security configuration of Kubernetes components. Modify the cluster components' configuration to match the CIS Benchmark. Penetration testing Kubernetes for known vulnerabilities. Module 4: System hardening Use kernel hardening tools Setup appropriate OS level security domains Container runtime sandboxes Limit network access Module 5: Monitoring and logging Configure Kubernetes audit logs Configure Audit Policies Monitor applications behaviour with Falco
Intro to containers training course description This course looks at the technologies of containers and microservices. The course starts with a look at what containers are, moving onto working with containers. Networking containers and container orchestration is then studied. The course finishes with monitoring containers with Prometheus and other systems. Hands on sessions are used to reinforce the theory rather than teach specific products, although Docker and Kubernetes are used. What will you learn Use containers. Build containers. Orchestrate containers. Evaluate container technologies. Intro to containers training course details Who will benefit: Those wishing to work with containers. Prerequisites: Introduction to virtualization. Duration 2 days Intro to containers training course contents What are containers? Virtualization, VMs, What are containers? What are microservices? Machine containers, application containers. Benefits. Container runtime tools Docker, LXC, Windows containers. Architecture, components. Hands on Installing Docker client and server. Working with containers Docker workflow, Docker images, Docker containers, Dockerfile, Building, running, storing images. Creating containers. Starting, stopping and controlling containers. Public repositories, private registries. Hands on Exploring containers. Microservices What are microservices? Modular architecture, IPC. Hands on Persistence and containers. Networking containers Linking, no networking, host, bridge. The container Network Interface. Hands on Container networking Container orchestration engines Docker swarm: Nodes, services, tasks. Apache Mesos: Mesos master, agents, frameworks. Kubernetes: Kubectl, master node, worker nodes. Openstack: Architecture, containers in OpenStack. Amazon ECS: Architecture, how it works. Hands on Setup and access a Kubernetes cluster. Managing containers Monitoring, logging, collecting metrics, cluster monitoring tools: Heapster. Hands on Using Prometheus with Kubernetes.
DevOps training course description This course is an introduction to DevOps. The course emphasizes communication, collaboration , integration, and automation to improve the workflow between developers and IT operations professionals. Improved workflows lead to more opportunities to design software and services in a more agile fashion. This course is a basis for discovering the most important DevOps concepts and to understand the principles and methods behind this. The course will leave you with the inspiration to be the advocate of change. What will you learn Explain DevOps principles. Describe the relationship between Agile , Lean and IT Service Management ( ITSM). Describe methods for automation and technology factors. Describe considerations when changing. Describe challenges, risks and critical success factors. DevOps training course details Who will benefit: IT development, IT operations and IT service management. Prerequisites: Introduction to data communications & networking. Duration 2 days DevOps training course contents Why DevOps? Introduction DevOps Goals DevOps Added value of DevOps Proven Results DevOps for businesses DevOps principles (The Three Ways) DevOps and other frameworks DevOps and Agile DevOps and Lean DevOps and IT Service Management DevOps culture Characteristics of a DevOps culture Organizational Considerations DevOps DevOps stakeholders DevOps roles DevOps teams DevOps organizational structures DevOps methods Continuous Integration Continuous delivery Continuous deployment Value stream mapping Kanban Theory of Constraints Improvement Kata Deming's quality circle ITSM processes DevOps and Automation Methods for DevOps automation Longevity and tools categories DevOps applications Transitioning to a DevOps culture. Implementation Challenges, risks and critical success factors Measuring DevOps successes
Advanced UNIX shell scripting training course description A follow on hands on course from the Introduction to shell programming course covering the powerful sed and awk tools along with the extra Korn shell programming features. What will you learn Use regular expressions within grep, ed and many other utilities. Use awk and sed. Integrate sed and awk into shell scripts. Recognise the role of shell scripts within the UNIX system. Write shell scripts using new Korn shell features including: The select construct Arrays Arithmetic evaluation Advanced UNIX shell scripting training course details Who will benefit: Programmers developing applications under UNIX. Administrators who need time saving utilities. Technical personnel who wish to make the most out of the Korn Shell. Prerequisites: UNIX shell scripting Duration 3 days Advanced UNIX shell scripting training course contents Regular Expressions What are REs? How can they be used? How to write REs More REs e REs Tagging, matching words, repetitions. The sed editor Basic usage: Saving output, options. sed script files, sed commands, Specifying lines to edit, Hold space and pattern space, advanced commands Awk Basic usage, nawk script files, Patterns, Records and fields, Actions if, while, do, for... System variables NF, NR, RS... Arrays Functions length, printf, cos, user defined... Using nawk in shell scripts Korn shell scripts Review of Bourne shell scripts functions... Variables typeset, manipulating strings Arrays Arithmetic evaluation the let command, (( )), typeset -i The select construct Syntax, workings, REPLY, PS3 Miscellaneous Enhanced I/O, ${10}
LTE training course description This course is designed to give the delegate an understanding of the technologies used within a 3G UMTS mobile network. During the course we will investigate the UMTS air interface and the use of Wideband-Code Division Multiple Access (WCDMA) to facilitate high speed data access, together with HSPA to offer mobile broadband services. We will describe the use of soft handover rather than hard handover procedures and soft capacity sharing. The course includes a brief exploration of the UMTS protocol stack and the use of PDP Context and QoS support features. What will you learn Explain the 3G UMTS architecture. Describe the role of a Drifting & Serving RNC. Explain the use of ARQ & HARQ for mobile broadband. Describe how IMS integrates into the architecture. Describe the use of Media Gateway Controllers. Identify the temporary identities used within 3G UMTS. LTE training course details Who will benefit: Anyone working within the telecommunications area, especially within the mobile environment. Prerequisites: Mobile communications demystified Telecommunications Introduction Duration 2 days LTE training course contents LTE Introduction The path to LTE, 3GPP. LTE to LTE advanced. LTE Architecture The core, Access, roaming. Protocols: User plane, Control plane. Example information flows. Bearer management. Spectrum allocation. LTE technologies Transmission, reception, OFDMA, multiple antenna, MIMO. LTE Air interface Air interface protocol stack. Channels, Resource Grid, cell acquisition. Up and downlink controls. Layer 2 protocols. Cell acquisition Power on, selecting networks and cells. RRC connection. Attach procedure. Mobility management Roaming, RRC_IDLE, RRC_CONNECTED, cell reselection, handover, interoperation with UMTS and GSM networks. Voice and text IMS, QoS, policy and charging.
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.