ð Unleash the Power of C++ with our Exclusive Advanced Master Classes! ð Ready to elevate your C++ skills to the next level? Dive deep into the world of Object-Oriented Programming (OOP) and Templates with our cutting-edge online course: 'Learn C++ Advanced: Master Classes on OOPs and Templates.' ð¥ What You'll Gain: â Mastery of OOP Concepts: Go beyond the basics and discover advanced OOP principles that will make your code more robust, scalable, and maintainable. â Template Magic: Unlock the true potential of C++ templates and learn how to leverage them for generic programming, creating flexible and efficient code. â Real-world Applications: Gain practical insights by working on hands-on projects and real-world case studies, applying your newfound knowledge to solve complex problems. â Expert Guidance: Learn from industry experts with years of experience in C++ development. Our instructors are dedicated to helping you grasp even the most challenging concepts. â Comprehensive Curriculum: Cover a wide range of advanced C++ topics, from smart pointers and inheritance to template metaprogramming and design patterns. â Lifetime Access: Get access to course materials, updates, and a vibrant community for a lifetime. Stay current with the latest C++ trends and technologies. â Certification of Completion: Showcase your expertise with a prestigious certificate upon successfully completing the course. Stand out to employers and peers alike. ð¡ Who Is This Course For? Whether you're a seasoned C++ developer looking to enhance your skills or a passionate learner eager to delve into advanced programming concepts, this course is tailored for you. It's the perfect stepping stone for those aiming to become elite C++ developers. ð Why Choose Our Course? ð Engaging Content: Our modules are designed for maximum engagement, combining video lectures, coding exercises, quizzes, and real-world projects. ð¤ Community Support: Join a thriving community of learners and interact with instructors and peers. Exchange ideas, seek help, and collaborate on projects. ð Proven Results: Our students have reported increased confidence and success in their professional endeavors after completing our courses. Don't miss the opportunity to become a C++ master! Enroll now and unlock the full potential of your programming journey. Course Curriculum Module- 1 Introduction 00:00 Course Curriculum 00:00 Getting started on windows, mac or Linux 00:00 How to ask great questions 00:00 FAQ's 00:00 Get and Installing Visual Studio Editor 00:00 Creating First Project 00:00 C++ Hello World Program 00:00 Compile and Run a CPP Program 00:00 Module- 2 Introduction 00:00 What are oops 00:00 Data structures 00:00 What are access modifiers 00:00 Module- 3 Introduction 00:00 Creating a class 00:00 Creating an objects 00:00 Class methods 00:00 Adding parameters 00:00 Constructors 00:00 Constructor with parameters 00:00 Default constructor 00:00 The destructor 00:00 Get and set methods 00:00 Access modifiers 00:00 Static members 00:00 Module- 4 Introduction 00:00 Constant objects and functions 00:00 Pointers to class and object 00:00 Array of objects 00:00 Module- 5 Introduction 00:00 Overloading the equality operator 00:00 Overloading the stream insertion operator 00:00 Overloading the stream insertion operator 00:00 Overloading the binary arithmetic operators 00:00 Overloading the assignment operators 00:00 Overloading the unary operators 00:00 Overloading the subscript operator 00:00 Inline functions 00:00 Module- 6 Introduction 00:00 Inheritance 00:00 Protected members 00:00 Constructors and Inheritance 00:00 Destructors and Inheritance 00:00 Overriding methods 00:00 Polymorphism 00:00 Abstract classes 00:00 Final classes and methods 00:00 Deep inheritance and methods 00:00 Multiple Inheritance 00:00 Module- 7 Multiple Inheritance 00:00 What are exceptions 00:00 Throwing an exception 00:00 Catching an exception 00:00 Catching multiple exceptions 00:00 Create custom exceptions 00:00 Module- 8 Introduction 00:00 Creating a function template 00:00 Function template arguments 00:00 Overloading a function template 00:00 Creating a class template 00:00 Templates with multiple parameters 00:00
About Course Advanced C++: Master the Language of Champions Learn the advanced C++ concepts and techniques you need to build high-performance software applications. In this comprehensive course, you will learn: Generic programming with templates Metaprogramming with constexpr and reflection Advanced object-oriented programming techniques Concurrency and parallelism Performance optimization This course is designed for experienced C++ programmers who want to take their skills to the next level. You will learn from an experienced C++ developer who will teach you the concepts and skills you need to succeed. By the end of this course, you will be able to: Write high-performance, efficient, and maintainable C++ code. Use advanced C++ features to solve complex problems. Design and implement complex software applications. Build a portfolio of real-world C++ applications Throughout the course, you will work on a variety of hands-on projects to build your skills and create a portfolio of real-world C++ applications. Enroll today and start your journey to becoming a C++ expert! Bonus: Get access to the instructor's personal collection of C++ resources. Why learn advanced C++? C++ is a powerful and versatile language that can be used to build a wide variety of software applications. It is also one of the most in-demand languages in the software industry. Learning advanced C++ will give you a significant advantage in the job market and allow you to build more complex and sophisticated software applications. Here are some of the benefits of learning advanced C++: C++ is a high-performance language that can be used to build fast and efficient software applications. C++ is a versatile language that can be used to build a wide variety of software applications, including operating systems, embedded systems, games, and more. C++ is an in-demand language in the software industry, and there are many job opportunities for C++ programmers. Learning advanced C++ will give you a significant advantage in the job market and allow you to build more complex and sophisticated software applications. So what are you waiting for? Enroll in this course today and start your journey to becoming a C++ expert! What Will You Learn? Learn to program with one of the most powerful programming languages that exists today, C++ Master on every advanced C++ programming topics Learn to code C++ from scratch for application development Coding advanced problem statements using the C++ concepts Setting up a local C++ coding environment to create your own coding practices Develop skills on real-world class, object and methods programming techniques Learn how to implement C++ templates, template functions, and classes How to handle error, exception handling and catch real time app errors Apply overloading methods and deep inheritance to how code reusing for your development Polymorphism and abstract classes to implemeting secure code in multiple methods Learn to Apply overloading techniques in C++, Dynamic operators and conversions Course Content Getting Started with C++ Introduction Course Curriculum Getting Started on Windows, Mac or Linux How to Ask Great Questions FAQ's Get and Installing Visual Studio Creating Project C++ Hello World Program Compile and Run a CPP program C++ Object Oriented Programming (theory) Introduction What Are oops Data Structures What Are Access Modifiers C++ Classes Introduction Creating a Class Creating an Objects Class Methods Adding Parameters Constructors Constructor with Parameters The Destructor Get and Set Methods Access Modifiers Static Members C++ Objects and Methods Introduction Constant Objects and Functions Pointers to Class and Object Array of Objects C++ Operator Overloading Introduction Overloading the Equality Operator Overloading the Stream Insertion Operator Overloading the Stream Extraction Operator Overloading the Binary Arithmetic Operators Overloading the Assignment Operators Overloading the Unary Operators Overloading the Subscript Operator Inline Functions C++ Inheritance and Polymorphism Introduction Inheritance Protected Members Constructors and Inheritance Destructors and Inheritance Overriding Methods Polymorphism Abstract Classes Final Classes and Methods Deep Inheritance and Methods Multiple Inheritance C++ Error Handling and Exceptions Introduction What Are Exceptions Throwing an Exception Catching an Exception Catching Multiple Exceptions Create Custom Exceptions C++ Templates Introduction Creating a Function Template Function Template Arguments Overloading a Function Template Creating a Class Template Templates with Multiple Parameters A course by Sekhar Metla IT Industry Expert Xpert Learning RequirementsGood to have C++ basic, intermediate to start hereNo software is required in advance of the course (all software used in the course is free) Audience C++ Advanced level developers curious about programming Anyone interested in learning the Advanced concepts of C++ Anyone who wants to grasp the concept with real-world examples of coding Anyone who wants to become a proficient software developer Anyone who wants to become an independent programmer Audience C++ Advanced level developers curious about programming Anyone interested in learning the Advanced concepts of C++ Anyone who wants to grasp the concept with real-world examples of coding Anyone who wants to become a proficient software developer Anyone who wants to become an independent programmer
Ensuring safety at the workplace is a non-negotiable priority. The PUWER and LOLER Safety Training Course is designed to help individuals and businesses meet essential safety regulations concerning the use of work equipment and lifting operations. PUWER (Provision and Use of Work Equipment Regulations) and LOLER (Lifting Operations and Lifting Equipment Regulations) outline crucial responsibilities for employers and employees. This course provides a clear understanding of the safety measures that must be in place when working with machinery and lifting equipment, ensuring the workplace operates safely and in line with legal obligations. This online course offers practical insights into the responsibilities laid out by PUWER and LOLER, providing you with the knowledge to assess and maintain the equipment used in your workplace. Whether you're managing a team or working with equipment directly, the course guides you through essential processes such as equipment inspection, maintenance, and safe usage. With safety at the forefront, the course equips you with the understanding needed to minimise risk and create a safer working environment for all. Perfect for those looking to boost workplace safety while ensuring peace of mind, this training is a step towards preventing accidents and enhancing overall safety awareness. PUWER PUWER teaches you everything on the topic thoroughly from scratch so you can claim a certificate of achievement for free to showcase your achievement in professional life. This PUWER is a comprehensive, instructor-guided course, designed to provide a detailed understanding of the nature of the related sector and your key roles within it. LOLER Training The LOLER Training course is designed for the LOLER technician, construction worker, warehouse operative, health and safety manager, crane operator, engineering surveyor or any individual who wants to brush up their skills and knowledge in LOLER. This LOLER Training course shares the key strategies, concepts and techniques of LOLER. Learning Outcomes: Understand the legal obligations under the 1998 Provision and Use of Work Equipment Regulations (PUWER) Recognise the additional key laws that govern the safe use of work equipment. Understand how risk assessments are conducted in order to utilise work equipment safely. Gain the knowledge of the safety measures required to manage or eliminate the risks brought about by the usage of work equipment. The primary obligations imposed by LOLER and other applicable laws. Major risks that present in lifting activities and lifting equipment, as well as methods for reducing those risks Procedures needed and the elements to take into account while analyzing the risks associated with lifting operations and lifting equipment. How to take into account elements like the surroundings and placement that could have an impact on an equipment's applicability. Key Features of the PUWER and LOLER Course : Instant e-certificate Fully online, interactive course with audio voiceover Developed by qualified professionals in the field Self-paced learning and laptop, tablet, smartphone-friendly 24/7 Learning Assistance Discounts on bulk purchases *** Additional Gifts *** Free Life coaching Course *** (Offer Ends Soon) *** Course Curriculum of PUWER The detailed curriculum outline of our PUWER course is as follows: Module 01: Provision and Use of Work Equipment Regulations Module 02: Selection and Conformity of Work Equipment Module 03: Safe Functionality of Work Equipment Module 04: Monitoring and Evaluation of Work Equipment Module 05: Maintenance of Work Equipment Course Curriculum of LOLER Training The detailed curriculum outline of our LOLER Training course is as follows: Module 01: Introduction to LOLER Module 02: Part 01 - Selecting Lifting Equipment and Accessories Module 03: Part 02 - Selecting Lifting Equipment and Accessories Module 04: Planning the Lifting Operation Module 05: Factors Affecting Safe Lifting Operation Module 06: Roles and Responsibilities Module 07: Risk Assessment Module 08: Examination and Inspection Module 09: Reports and Defects Accreditation All of our courses, including this PUWER and LOLER course, are fully accredited, providing you with up-to-date skills and knowledge and helping you to become more competent and effective in your chosen field. Certification Once you've successfully completed your PUWER and LOLER course, you will immediately be sent a digital certificate. Also, you can have your printed certificate delivered by post (shipping cost £3.99). Our certifications have no expiry dates, although we do recommend that you renew them every 12 months. Assessment At the end of the course, there will be an online assessment, which you will need to pass to complete the course. Answers are marked instantly and automatically, allowing you to know straight away whether you have passed. If you haven't, there's no limit on the number of times you can take the final exam. All this is included in the one-time fee you paid for the course itself. Who is this course for? This course is suitable for anyone whose job role involves operating or managing the use of work equipment and lifting operations, as it's essential that you're familiar with the potential hazards and how to manage them. They will be better equipped to protect anyone who works with or around work equipment or lifting equipment from injury with the knowledge they acquire from the training. Career path After completing this PUWER and LOLER training course, you'll be prepared with the knowledge and abilities to operate work equipment and lifting operation equipment safely and pursue careers as: Lifting equipment operator Forklift Operator Truck operator Certificates Certificate of completion Digital certificate - Included Certificate of completion Hard copy certificate - Included You will get the hard copy certificates for Free! The delivery charge of the hard copy certificate inside the UK is £3.99 each.
Be a real master of the C programming language, and the art of problem solving using effective approaches of programming
Duration 4 Days 24 CPD hours This course is intended for This is an introductory-level C++ programming course designed for developers with experience programming in C or other languages. Practical hands-on prior programming experience and knowledge is required. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn: Writing procedural programs using C++ Using private, public and protected keywords to control access to class members Defining a class in C++ Writing constructors and destructors Writing classes with const and static class members Overloading operators Implementing polymorphic methods in programs Writing programs using file I/O and string streams Using manipulators and stream flags to format output Using the keyword template to write generic functions and classes Writing programs that use generic classes and functions Writing programs that use algorithms and containers of the Standard Library Apply object-oriented design techniques to real-world programming problems Using algorithms and containers of the Standard Library to manipulate string data Understand how C++ protects the programmer from implementation changes in other modules of an application Using try() blocks to trap exceptions Using catch() blocks to handle exceptions Defining exceptions and using throw to trigger them Introduction to C++ Programming / C++ Essentials is a skills-focused, hands-on C++ training course geared for experienced programmers who need to learn C++ coupled with sounds coding skills and best practices for OO development. Students will leave this course armed with the required skills to put foundation-level C++ programming skills right to work in a practical environment. The central concepts of C++ syntax and style are taught in the context of using object-oriented methods to achieve reusability, adaptability and reliability. Emphasis is placed on the features of C++ that support abstract data types, inheritance, and polymorphism. Students will learn to apply the process of data abstraction and class design. Practical aspects of C++ programming including efficiency, performance, testing, and reliability considerations are stressed throughout. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency Moving from C to C++ (Optional) New Compiler Directives Stream Console I/O Explicit Operators Standard Libraries Data Control Capabilities Handling Data New Declaration Features Initialization and Assignment Enumerated Types The bool Type Constant Storage Pointers to Constant Storage Constant Pointers References Constant Reference Arguments Volatile Data Global Data Functions Function Prototypes and Type Checking Default Function Data Types Function Overloading Problems with Function Overloading Name Resolution Promotions and Conversions Call by Value Reference Declarations Call-by-Reference and Reference Types References in Function Return Constant Argument Types Conversion of Parameters Using Default Initializers Providing Default Arguments Inline Functions Operator Overloading Advantages and Pitfalls of Overloading Member Operator Syntax and Examples Class Assignment Operators Class Equality Operators Non-Member Operator Overloading Member and Non-Member Operator Functions Operator Precedence This Pointer Overloading the Assignment Operator Overloading Caveats Creating and Using Objects Creating Automatic Objects Creating Dynamic Objects Calling Object Methods Constructors Initializing Member consts Initializer List Syntax Allocating Resources in Constructor Destructors Block and Function Scope File and Global Scope Class Scope Scope Resolution Operator :: Using Objects as Arguments Objects as Function Return Values Constant Methods Containment Relationships Dynamic Memory Management Advantages of Dynamic Memory Allocation Static, Automatic, and Heap Memory Free Store Allocation with new and delete Handling Memory Allocation Errors Controlling Object Creation Object Copying and Copy Constructor Automatic Copy Constructor Conversion Constructor Streaming I/O Streams and the iostream Library Built-in Stream Objects Stream Manipulators Stream Methods Input/Output Operators Character Input String Streams Formatted I/O File Stream I/O Overloading Stream Operators Persistent Objects Introduction to Object Concepts The Object Programming Paradigm Object-Orientated Programming Definitions Information Hiding and Encapsulation Separating Interface and Implementation Classes and Instances of Objects Overloaded Objects and Polymorphism Declaring and Defining Classes Components of a Class Class Structure Class Declaration Syntax Member Data Built-in Operations Constructors and Initialization Initialization vs. Assignment Class Type Members Member Functions and Member Accessibility Inline Member Functions Friend Functions Static Members Modifying Access with a Friend Class Templates Purpose of Template Classes Constants in Templates Templates and Inheritance Container Classes Use of Libraries Strings in C++ Character Strings The String Class Operators on Strings Member Functions of the String Class Inheritance Inheritance and Reuse Composition vs. Inheritance Inheritance: Centralized Code Inheritance: Maintenance and Revision Public, Private and Protected Members Redefining Behavior in Derived Classes Designing Extensible Software Systems Syntax for Public Inheritance Use of Common Pointers Constructors and Initialization Inherited Copy Constructors Destructors and Inheritance Public, Protected, Private Inheritance Exceptions Types of Exceptions Trapping and Handling Exceptions Triggering Exceptions Handling Memory Allocation Errors C++ Program Structure Organizing C++ Source Files Integrating C and C++ Projects Using C in C++ Reliability Considerations in C++ Projects Function Prototypes Strong Type Checking Constant Types C++ Access Control Techniques Polymorphism in C++ Definition of Polymorphism Calling Overridden Methods Upcasting Accessing Overridden Methods Virtual Methods and Dynamic Binding Virtual Destructors Abstract Base Classes and Pure Virtual Methods Multiple Inheritance Derivation from Multiple Base Classes Base Class Ambiguities Virtual Inheritance Virtual Base Classes Virtual Base Class Information The Standard Template Library STL Containers Parameters Used in Container Classes The Vector Class STL Algorithms Use of Libraries
Master Python 3.10 from the experts with this course and demonstrate programming wizardry in Python. Go from a geek to a wizard in no time with this well-structured video course and write Python code like a pro. Learn about the often-forgotten basics and special features of programming and Python in general.
Overview This comprehensive course on Symmetrical Components for Three Phase Power Analysis will deepen your understanding on this topic. After successful completion of this course you can acquire the required skills in this sector. This Symmetrical Components for Three Phase Power Analysis comes with accredited certification from CPD, which will enhance your CV and make you worthy in the job market. So enrol in this course today to fast track your career ladder. How will I get my certificate? At the end of the course there will be an online written test, which you can take either during or after the course. After successfully completing the test you will be able to order your certificate, these are included in the price. Who is This course for? There is no experience or previous qualifications required for enrolment on this Symmetrical Components for Three Phase Power Analysis. It is available to all students, of all academic backgrounds. Requirements Our Symmetrical Components for Three Phase Power Analysis is fully compatible with PC's, Mac's, Laptop, Tablet and Smartphone devices. This course has been designed to be fully compatible with tablets and smartphones so you can access your course on Wi-Fi, 3G or 4G. There is no time limit for completing this course, it can be studied in your own time at your own pace. Career Path Having these various qualifications will increase the value in your CV and open you up to multiple sectors such as Business & Management, Admin, Accountancy & Finance, Secretarial & PA, Teaching & Mentoring etc. Course Curriculum 2 sections • 8 lectures • 01:30:00 total length •Module 01: Introduction: 00:09:00 •Module 02: Symmetrical Components Overview: 00:18:00 •Module 03: The Components: 00:03:00 •Module 04: The 'a' Operator: 00:06:00 •Module 05: Working with the a Operator: 00:04:00 •Module 06: Synthesis Equations: 00:19:00 •Module 07: Problems & Solutions: 00:31:00 •Assignment - Conveyancing- Online Diploma Course: 00:00:00
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.