SIP training course description A hands on course covering IP telephony with SIP. The course starts with a brief review of knowledge students should already possess including RTP and RTCP. The main focus is on SIP though, progressing from what SIP is through SIP signalling, call processing and architectures, moving onto more advanced issues including security, multimedia, and interoperability. Hands-on practicals follow each major theory session. What will you learn Explain how SIP works. Analyse SIP packets. Deploy SIP IP telephony solutions. Integrate SIP with other telephony solutions. SIP training course details Who will benefit: Technical staff working with SIP. Prerequisites: Definitive VoIP for engineers Duration 3 days SIP training course contents VoIP review What is VoIP? Brief review of IP, Brief review of telephones and voice. RTP, RTCP, mixers and translators. Hands on Analysing RTP packets. What is SIP? Why SIP? SIP history, SIP standards, SIP capabilities, key services, how SIP works, and a basic SIP call. Hands on Peer to peer SIP. SIP messages SIP sessions, SIP flows, Message structure, INVITE, ACK, BYE, CANCEL, OPTIONS, REGISTER. Extension methods. Response codes. SIP call flows. Hands on Analysing SIP packets. SIP architectures UA client, UA server, Proxy servers, Redirect servers, registrars. SIP phones, gateways, application servers, and other products. Stateful and stateless servers. Various call scenarios. Hands on SIP proxies. SIP addressing URLs, SIP addresses, registration, Location and Directory servers. Address tracking. Hands on SIP and DNS. Supplementary services SIP signalling, signalling compression, Call hold, Call forwarding, Home and away scenarios, transfers, conferences, call control. Hands on Analysing SIP supplementary services. SDP What is SDP? Multimedia, multimedia session announcement, invitation and others. Relationship with SIP. Hands on Video conferencing with SIP. SIP security Access control, Authentication, encryption, firewalls. Hands on SIP authentication. Interoperability Inter working with PSTN, ISUP to SIP mapping, SIP and 3G, SIP-T, SIP and SIGTRAN. SIP and H323. Hands on SIP and gateways. SIP mobility Terminal mobility, service mobility, personal mobility, Mobile IP, SIP signalling flows in 3G.
Asterisk training course description This 3 day hands on Asterisk training course covers all the ground for you to get an Asterisk PBX installed and configured. After installation the course progresses from a simple first configuration onto VoIP and PSTN integration along with the provision of PBX features such as ACD and IVR. Practical sessions follow each major section to reinforce the theory. What will you learn Install and configure Asterisk. Connect Asterisk to the Internet and PSTN. Integrate VoIP and the PSTN. Configure Asterisk for PBX features such as voicemail, ACD and IVR. Asterisk training course details Who will benefit: Technical staff working with or evaluating Asterisk. Prerequisites: None although hands on experience of UNIX systems would be beneficial, as would knowledge of VoIP. Duration 3 days Asterisk training course contents What is Asterisk? PBXs, what Asterisk does, Asterisk features, Asterisk VoIP support, Asterisk and the Internet, Asterisk and the PSTN, hosted VoIP systems. Asterisk installation Linux installation, Asterisk package compilation and installation. Timing sources. Hands on Installing Asterisk Managing Asterisk Starting/stopping Asterisk, command arguments, Asterisk commands, log files, logger.conf, remote management. Hands on Controlling Asterisk. First Asterisk configuration The role of SIP, IP phones, DHCP, IP addressing, sip.conf, extensions.conf. Hands on Simple SIP configuration Asterisk architecture Server hardware, interfaces, channels, Zaptel, Digium, Asterisk filesystem, connections. The configuration files, syntax, asterisk.conf. Hands on Adding hardware for Asterisk, exploring the configuration files. DAHDI configuration Digium hardware, DAHDI architecture, DAHDI installation, DAHDI configuration, system.conf, FXS, FXO, E1, chan_dahdi.conf, dahdi_cfg, DAHDI tools. Hands on Connecting Asterisk to the PSTN. Dial plans extensions.conf detail, contexts, priorities. Hands on Configuring dial plans. SIP configuration sip.conf in detail, defining SIP channels, incoming SIP channels, outgoing SIP channels, SIP variables, Asterisk as a SIP client and SIP server. Hands on SIP configuration. IAX configuration What is IAX, IAX server, IAX client, IAX channels, iax.conf, IAX syntax in extensions.conf, IAX trunking. Hands on Linking Asterisk systems. Implementing PBX functions Voicemail, voicemail trees, voicemail passwords, Music on hold, meetme conferencing, call parking. ACD, IVR, fax. Hands on Configuring PBX features.
SNMP training course description A hands-on generic look at the technical operation of SNMP. The course starts with an overview of all the components, which make up SNMP. Hands on starts early with configuration of a managed network. The major versions of SNMP are then put into perspective followed by a look at the SNMP protocol. MIBs are then studied both from the perspective of reading MIBs and writing MIBs. The course finishes with a look at the security implications of SNMP. What will you learn Describe the SNMP architecture. Analyse SNMP packets. Recognise the MIB structure. Describe the SMI. Recognise the strengths and weaknesses of SNMPv2 and SNMPv3. SNMP training course details Who will benefit: Network administrators. Network operators. Programmers writing MIBs and agents. Prerequisites: TCP/IP Foundation for engineers Hands on experience of an SNMP management station would also be beneficial. Duration 3 days SNMP training course contents Network management What is network management? Benefits, issues. What is SNMP? SNMP architecture, SNMP MIBs, SMI, the SNMP protocol, polling security, alternatives to SNMP: CMIP, web based management. Configuring SNMP Auto discovery for management stations, NMS configuration, agent configuration, traps. Hands on Configuring agents and an NMS. SNMP background SNMP history, RFCs, standards, SNMP protocol versions, SNMPv1, SNMPv2, SNMPv3, SNMP SMI versions, which version should you use? Futures. SNMPv1 packets SNMP in the 7 layer model, port numbers, general packet format, BER, GET, GET-NEXT, tables, SET, TRAP, bandwidth issues, in band versus out of band management. Hands on Analysing SNMPv1 packets. SNMPv2 packets SNMPv2 improvements, error handling, GETBULK, v2traps, INFORM. Hands on Analysing SNMPv2 packets. SNMPv3 packets SNMPv3 packet format, use of SNMPv2 messages, REPORT PDU. MIB structure The internet MIB branch, standard mib-2, extra parts of mib-2, private enterprise MIBs, loading extra MIBs. Hands on MIB browsing. mib-2 The mib-2 groups, system group, interfaces group, IP group, ICMP group, TCP group, UDP group, transmission group, SNMP group, RMON. Hands on mib-2 browsing in detail. SMI The MIB layout, obtaining a private enterprise number, MIB definitions, IMPORT, Module identity, Textual conventions, object definitions, notifications, compliance statements, object groups, base SMI data types, application data types, scalars, instances, tables, table definition, writing agents, SMIng. SNMP security Community strings, SNMPv1 and SNMPv2c security practices, SNMPv3 security, SNMPv3 architecture, SNMP applications, the SNMP engine, the EngineID, security fields in SNMPv3 packets, USM, authentication, encryption, timeliness, VBAC, SNMPv3 configuration.
LTE Architecture and Protocols course description This course provides a comprehensive tour of the LTE architecture along with services provided and the protocols used. What will you learn Describe the overall architecture of LTE. Explain the information flows through LTE. Describe the LTE security. Describe LTE mobility management. Recognise the next steps for LTE. LTE Architecture and Protocols course details Who will benefit: Anyone working with LTE. Prerequisites: Mobile communications demystified Duration 3 days LTE Architecture and Protocols course contents Introduction History, LTE key features. The 4G ITU process. The LTE 3GPP specifications. Specifications. System Architecture LTE hardware architecture. UE architecture and capabilities. E-UTRAN and eNB. EPC, MME functions, SGW, PGW and PCRF. System interfaces and protocol stacks. Example information flows. Dedicated and default bearers. EMM, ECM, RRC state diagrams. Radio transmission and reception OFDMA, SC-FDMA, MIMO antennas. Air interface protocol stack. Logical, transport and physical channels. Frame and slot structure, the resource grid. Resource element mapping of the physical channels and signals. Cell acquisition, data transmission and random access. MAC, RLC, PDCP protocols. LTE spectrum allocation. Power-on procedures Network and cell selection. RRC connection establishment. Attach procedure, including IP address allocation and default bearer activation. LTE detach procedure. Security in LTE networks LTE security features, identity confidentiality, ciphering and integrity protection. Architecture of network access security in LTE. Secure key hierarchy. Authentication and key agreement procedure. Security mode command procedure. Network domain security architecture. Security associations using IKE and IPSec. Mobility management RRC_IDLE, RRC_CONNECTED. Cell reselection, tracking area updates. Measurement reporting. X2 and S1 based handovers. Interoperation with UMTS, GSM and non-3GPP technologies such as cdma2000. QoS, policy control and charging QoS in LTE, EPS bearers, service data flows and packet flows. The architecture and signalling procedures for policy and charging control. Data transport using GPRS, differentiated services and MPLS. Offline and online charging in LTE. Delivery of voice and text messages over LTE Difficulties and solutions for Voice over LTE. Architecture and call setup procedures for circuit switched fallback. Architecture, protocols and call setup procedures in IP multimedia subsystem. Enhancements in release 9 LTE location services. Multimedia broadcast / multicast service and MBSFN. Cell selection, commercial mobile alert service. LTE Advanced and release 10 Impact of carrier aggregation on LTE air interface. Enhanced MIMO processing on uplink and downlink. Relaying. Release 11 and beyond. OAM and self organising networks Operation, administration, maintenance and provisioning for LTE. Self-configuration of base station parameters. Fractional frequency re-use, inter-cell interference co-ordination. Self-optimisation of base station procedures. Self-healing to detect and recover from faults.
OSPF training course description A detailed hands on examination of OSPF. Hands on sessions are used to reinforce the theory rather than teach specific manufacturer equipment. The course starts with a recap of reading routing tables and then jumps straight in with simple OSPF configuration. OSPF features are then studied and configured before moving onto how OSPF works within an area. Multi area OSPF is then studied before looking at OSPF operation in detail by analysing OSPF packets. Finally areas are covered again in more detail followed by troubleshooting. What will you learn Design OSPF networks. Design IP addressing schemes suitable for route summarisation. Troubleshoot OSPF networks. Describe the operation of OSPF. OSPF training course details Who will benefit: Technical staff working with OSPF. Prerequisites: TCP/IP Foundation for engineers Duration 3 days OSPF training course contents Basic routing and OSPF Reading routing tables, routing protocols, What is OSPF? Process IDs, passive interfaces. Hands on Simple OSPF configuration. OSPF History of OSPF, metrics, costs, convergence, Distance Vector vs. Link state routing protocols, IGPs, classless, OSPF features, load sharing, per packet/destination, OSPF authentication. Hands on Configuring OSPF features. OSPF within an area How OSPF works, LSDB, LSDB benefits and disadvantages, LSA types, Type 1 and 2, LSA propagation, router IDs, hellos, configuring hellos, the exchange protocol. Hands on Investigating OSPF structures. Areas Scalability, why areas? Area IDs, area 0, ABRs, ABR resilience, areas & LSDBs, areas & LSAs, Type 3 LSAs, virtual links. Hands on Multi area OSPF. Redistribution Multiple routing protocols, common scenarios, routing distance, External LSAs, E1 and E2. Type 4 LSAs. OSPF and default routes. Hands on Configuring static route redistribution. Route aggregation Route summarisation. How to aggregate, ABR summarisation, ASBR summarisation. Hands on OSPF address summarisation. OSPF packet formats OSPF packets, protocol stack, OSPF stages, packet flows, packet types, the OSPF header, multicasts, Hello, DDB, LS request, LS update, LS ACK, LSA header, LSA formats, neighbours, neighbour states, DRs, adjacencies, BDRs, DR election. Hands on Analysing OSPF packets, troubleshooting. OSPF network types BMA, NBMA, Point to point links. Hands on Configuring OSPF over Frame Relay. OSPF stub areas LSA types, area types, area architecture, stub areas, default routes, benefits and disadvantages of stub areas, TSSAs, NSSAs, Type 7 LSAs. Hands on Stub and TSSA configuration. The OSPF MIB SNMP overview, MIB 2, the OSPF MIB, OSPF MIB groups, useful objects, OSPF traps. Hands on the OSPF MIB. troubleshooting. Summary RFCs, OSPF design guidelines. OSPF variants (appendix) OSPF on demand, MOSPF, multicast overview, Type 6 LSAs, OSPF for IPv6 (OSPFv3).
SMTP training course description A hands on course focusing on the workings of email systems and the standard protocols that they use. The course is not specific to any particular implementation, but some vendor specifics are noted. Linux and Microsoft machines are used in hands on sessions to reinforce the theory of major sessions. The course concentrates on troubleshooting and interworking using network sniffing and protocol inspection rather than "which buttons to push". What will you learn Describe and explain SMTP MIME POP3 IMAP PGP, GPG, S/MIME SPF, DKIM, DMARC Configure mail routing Secure email systems SMTP training course details Who will benefit: Technical staff responsible for email systems. Prerequisites: TCP/IP foundation for engineers. Duration 3 days SMTP training course contents SMTP architecture What is SMTP, email before SMTP, SMTP history, the different protocols, clients, servers. Email composition, transmission, delivering emails, storing and reading emails. MUAs, MTAs, POP3, IMAP, SMTP, DNS, webmail. Hands on Setting up MTAs and MUAs and sending a simple email using telnet. The SMTP protocol SMTP protocol stack, SMTP headers, HELO, SMTP mail, MAIL FROM, RCPT TO, DATA, SMTPUTF8, 8BITMIME, TURN, EHLO, ETRN, 3 digit replies. Hands on Analysing SMTP packets on a network. DNS and SMTP SMTP forwarding, SMTP relays, interoperation, how SMTP uses DNS, MX records. Hands on Setting up mail relays. SMTP headers IMF data, From, to, cc, bcc, sender and recipient headers, message Ids, received trails, in-reply-to, received-SPF, mail list headers. Hands on Using clients to analyse details from mail headers, including true originators and path of emails. MIME Email attachments, MIME versions, content type headers, encoding, base 64, binary data, multi part headers, troubleshooting attachments. Hands on Analysing MIME headers and attachments. POP3 What is POP3, where to use POP3, authorisation, transactions, POP3 commands: USER, PASS, STAT, LIST, RETR, DELE. Hands on Setting up a POP3 server, analysing POP3 packets on a network. IMAP and IMAPS What is IMAP, where to use IMAP, authorisation, mailbox structure, IMAP commands: LOGIN, AUTHENTICATE, LIST, CREATE, Examine (message flags), SELECT, STORE. Hands on Setting up an IMAP server and analysing IMAP packets on a network. Interoperation Mail gateways, addressing, Exchange, sendmail. Email security Basics, Transport level: STARTTLS. Content: PGP/GPG, mail signing and encryption, S/MIME, digital certificates, secure email submission. Hands on Setting up and using a PGP key, configure MTAs to use TLS. Email authentication and spam prevention Mail relays, grey listing, block list & RBL, DNSBL (Real-time Black hole List), White list, SPF, Domain Keys Identified Mail (DKIM), Author Domain Signing Practices (ADSP), Abuse Report Format (ARF), Domain-based Message Authentication, Reporting and Conformance (DMARC). Hands on Relay spamming and the blocking spamming.
Software development training course description This three-day MTA Training course helps you prepare for Microsoft Technology Associate Exam 98-361, and build an understanding of these topics: Core programming, Object-Oriented programming, general software development, web applications, desktop applications, and databases. This course leverages the same content as found in the Microsoft Official Academic Course (MOAC) for this exam. What will you learn Describe core programming. Explain Object Oriented programming. Describe general software development. Describe Web applications. Describe desktop applications. Explain how databases work. Software development training course details Who will benefit: Anyone looking to learn the fundamentals of software. Prerequisites: None. Duration 3 days Software development training course contents Core programming Computer storage and data types How a computer stores programs and the instructions in computer memory, memory stacks and heaps, memory size requirements for the various data storage types, numeric data and textual data. Computer decision structures Various decision structures used in all computer programming languages; If decision structures; multiple decision structures, such as Ifâ¦Else and switch/Select Case; reading flowcharts; decision tables; evaluating expressions. Handling repetition For loops, While loops, Do...While loops and recursion. Understand error handling Structured exception handling. Object-oriented programming Classes Properties, methods, events and constructors; how to create a class; how to use classes in code. Inheritance Inheriting the functionality of a base class into a derived class. Polymorphism Extending the functionality in a class after inheriting from a base class, overriding methods in the derived class. Encapsulation Creating classes that hide their implementation details while still allowing access to the required functionality through the interface, access modifiers. General software development Application life cycle management Phases of application life cycle management, software testing. Interpret application specifications Application specifications, translating them into prototypes, code, select appropriate application type and components. Algorithms and data structures Arrays, stacks, queues, linked lists and sorting algorithms; performance implications of various data structures; choosing the right data structure. Web applications Web page development HTML, CSS, JavaScript. ASP.NET web application development Page life cycle, event model, state management, client-side versus server-side programming. Web hosting Creating virtual directories and websites, deploying web applications, understanding the role of Internet Information Services. Web services Web services that will be consumed by client applications, accessing web services from a client application, SOAP, WSDL. Desktop applications Windows apps UI design guideline categories, characteristics and capabilities of Store Apps, identify gestures. Console-based applications Characteristics and capabilities of console- based applications. Windows Services Characteristics and capabilities of Windows Services. Databases Relational database management systems Characteristics and capabilities of database products, database design, ERDs, normalisation concepts. Database query methods SQL, creating and accessing stored procedures, updating and selecting data. Database connection methods Connecting to various types of data stores, such as flat file; XML file; in-memory object; resource optimisation.
MySQL foundation training course description The MySQL foundation course covers the basics of the SQL language as implemented by MySQL. The course is designed to give delegates practical experience in writing SQL statements using the MySQL client program and MySQL Workbench. The basic SQL statements, including the use of SQL functions and the basic table and view handling statements are introduced. What will you learn Create, alter and drop a MySQL database. Write SQL statements. Use SQL expressions and functions. Create and alter tables, indexes and views. Use transactions. Grant and revoke access privileges. Export and import data. MySQL foundation training course details Who will benefit: Anyone who needs to access and work with a MySQL Database. Prerequisites: An understanding of databases and exposure to information technology in general would be useful. Duration 3 days MySQL foundation training course contents Database concepts What is a database? database management systems, tables, rows and columns, indexes, primary keys, unique constraints and foreign keys, client-server architecture, supported data types, storage engines and table types, Information_Schema and MySQL Databases. Hands on using a database. Using the MySQL client What is the MySQL client? getting started and logging in, selecting a database, client commands, entering and executing SQL statements, retrieving previous commands, creating, editing and executing SQL files, redirecting output into a file, command line execution of MySQL scripts. Hands on Using the MySQL client. Basic SELECT The SQL SELECT statement, case sensitivity, quotes, statement terminator, syntax conventions, SELECT clause, FROM clause, conditions and the WHERE clause, logical operators, ORDER BY clause, column aliases, arithmetic expressions, precedence of operators. Hands on querying the sample database. LIMIT, UNION and AGGREGATE functions The LIMIT clause, UNION, UNION ALL, aggregate functions, GROUP BY clause, using Rollup with GROUP BY, HAVING clause. Hands on using limit, union and aggregate functions. Subqueries and joins Subqueries, cartesian products, table aliases, natural joins, join using, join on, multi-table joins. Hands on using subqueries and joins. Numeric and character functions Function types, testing functions, numeric functions character functions. Hands on using numeric and character functions. Data, time and other functions Date and time column types, date and time formats, Date format function, functions to return date time, functions to extract components from date time, date time arithmetic, miscellaneous functions. Hands on using date, time and other functions. Databases and tables Creating a database, selecting a database, creating tables, Auto_increment, show create table, column operations, constraint operations, copying tables, renaming tables, changing engine for tables, dropping tables, temporary tables. Hands on maintaining databases and tables. Indexes and views What is an index? creating an index, reviewing indexes, dropping indexes, what is a view? creating views, view restrictions, dropping views. Hands on maintaining indexes and views. Managing data Inserting rows, replacing rows, updating rows, deleting rows, Truncate statement, The COMMIT and ROLLBACK commands, savepoints, implicit commits. Hands on managing data. Access control Creating users, renaming users, dropping users, granting privileges, revoking privileges. Hands on creating users, granting and revoking. Import and export Exporting using SQL, importing using SQL, exporting from the command line, importing from the command line. Hands on export and import data.
HTML5 development training course description This three-day MTA Training course helps you prepare for Microsoft Technology Associate Exam 98-375, and build an understanding of these topics: Manage the Application Life Cycle, Build the User Interface by Using HTML5, Format the User Interface by Using CSS, Code by Using JavaScript. This course leverages the same content as found in the Microsoft Official Academic Course (MOAC) for this exam. What will you learn Manage the Application Life Cycle. Build the User Interface by Using HTML5. Format the User Interface by Using CSS. Code by Using JavaScript. HTML5 development training course details Who will benefit: Anyone working with HTML5. Prerequisites: None. Duration 3 days HTML5 development training course contents Managing the Application Life Cycle Platform fundamentals Packaging and the runtime environment: app package, app container, credentials/permission sets, host process, leverage existing HTML5 skills and content for slate/tablet applications. Manage the state of an application Manage session state, app state and persist state information; understand states of an application; understand the differences between local and session storage. Debug and test a HTML5 touch-enabled application Touch gestures; gestures you test on a device. HTML5 UI: Text, Graphics, and Media HTML5 tags for text content and graphics. When, why and how to use Canvas; when, why and how to use scalable vector graphics (SVG). HTML5 tags to play media. Video and audio tags. HTML5 UI: Organization, Input, and Validation HTML5 tags to organise content and forms Tables, lists, sections; semantic HTML. HTML5 tags for input and validation CSS Essentials: Content Flow, Positioning, styling Core CSS concepts Separate presentation from content (create content with HTML and style content with CSS); manage content flow (inline versus block flow); manage positioning of individual elements( float versus absolute positioning); manage content overflow (scrolling, visible and hidden); basic CSS styling. CSS Essentials: Layouts Arrange UI content by using CSS Use flexible box and grid layouts to establish content alignment, direction and orientation; proportional scaling and use of "free scale" for elements within a flexible box or grid; order and arrange content; concepts for using flex box for simple layouts and grid for complex layouts; grid content properties for rows and columns; use application templates. Managing Text Flow by Using CSS Regions and using regions to flow text content between multiple sections (content source, content container, dynamic flow, flow-into, flow-from, msRegionUpdate, msRegionOverflow, msGetRegionContent); columns and hyphenation and using these CSS settings to optimise the readability of text; use "positioned floats" to create text flow around a floating object Managing the Graphical Interface by Using CSS Graphics effects (rounded edges, shadows, transparency, background gradients, typography and Web Open Font Format); 2-D 3-D transformations (translate, scale, rotate, skew and 3-D perspective transitions and animations); SVG filter effects; Canvas. JavaScript and coding essentials Manage and maintain JavaScript, Create and use functions; jQuery and other third-party libraries. Update the UI by using JavaScript Locate/access elements; listen and respond to events; show and hide elements; update the content of elements. Animations, Graphics, and Accessing Data Code animations with JavaScript animation; manipulate the canvas; work with images, shapes and other graphics. Access data access by using JavaScript Send and receive data; transmit complex objects and parsing; load and save files; App Cache; datatypes; forms; cookies; localStorage JavaScript coding for Touch Interface, Device and Operating System Resources, and More Respond to the touch interface, Gestures, how to capture and respond to gestures, Code additional HTML5 APIs, GeoLocation, Web Workers, WebSocket; File API, Access device and operating system resources, In- memory resources, such as contact lists and calendar; hardware capabilities, such as GPS, accelerometer and camera.
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.