About this training course Business Impact: The main aim is to provide insight and understanding of data analytics and machine learning principles through applications. Field data is used to explain data-analysis workflows. Using easy to follow solution scripts, the participants will assess and extract value from the data sets. Hands-on solution approach will give them confidence to try out applicable techniques on data from their field assets. Data analysis means cleaning, inspecting, transforming, and modeling data with the goal of discovering new, useful information and supporting decision-making. In this hands-on 2-day training course, the participants learn some data analysis and data science techniques and workflows applied to petroleum production (specifically artificial lift) while reviewing code and practicing. The focus is on developing data-driven models while keeping our feet closer to the underlying oil and gas production principles. Unique Features: Eight business use cases covering their business impact, code walkthroughs for most all and solution approach. Industry data sets for participants to practice on and take home. No software or complicated Python frameworks required. Training Objectives After the completion of this training course, participants will be able to: Understand digital oil field transformation and its impact on business Examine machine learning methods Review workflows and code implementations After completing the course, participants will have a set of tools and some pathways to model and analyze their data in the cloud, find trends, and develop data-driven models Target Audience This training course is suitable and will greatly benefit the following specific groups: Artificial lift, production and facilities engineers and students to enhance their knowledge base, increase technology awareness, and improve the facility with different data analysis techniques applied on large data sets Course Level Intermediate Advanced Training Methods The course discusses several business use-cases that are amenable to data-driven workflows. For each use case, the instructor will show the solution using a data analysis technique with Python code deployed in the Google cloud. Trainees will solve a problem and tweak their solution. Course Duration: 2 days in total (14 hours). Training Schedule 0830 - Registration 0900 - Start of training 1030 - Morning Break 1045 - Training recommences 1230 - Lunch Break 1330 - Training recommences 1515 - Evening break 1530 - Training recommences 1700 - End of Training The maximum number of participants allowed for this training course is 20. This course is also available through our Virtual Instructor Led Training (VILT) format. Prerequisites: Understanding of petroleum production concepts Knowledge of Python is not a must but preferred to get the full benefit. The training will use the Google Collaboratory environment available in Google-Cloud for hands-on exercises Trainees will need to bring a computer with a Google Chrome browser and a Google email account (available for free) Trainer Your expert course leader has over 35 years' work-experience in multiphase flow, artificial lift, real-time production optimization and software development/management. His current work is focused on a variety of use cases like failure prediction, virtual flow rate determination, wellhead integrity surveillance, corrosion, equipment maintenance, DTS/DAS interpretation. He has worked for national oil companies, majors, independents, and service providers globally. He has multiple patents and has delivered a multitude of industry presentations. Twice selected as an SPE distinguished lecturer, he also volunteers on SPE committees. He holds a Bachelor's and Master's in chemical engineering from the Gujarat University and IIT-Kanpur, India; and a Ph.D. in Petroleum Engineering from the University of Tulsa, USA. Highlighted Work Experience: At Weatherford, consulted with clients as well as directed teams on digital oilfield solutions including LOWIS - a solution that was underneath the production operations of Chevron and Occidental Petroleum across the globe. Worked with and consulted on equipment's like field controllers, VSDs, downhole permanent gauges, multiphase flow meters, fibre optics-based measurements. Shepherded an enterprise-class solution that is being deployed at a major oil and gas producer for production management including artificial lift optimization using real time data and deep-learning data analytics. Developed a workshop on digital oilfield approaches for production engineers. Patents: Principal inventor: 'Smarter Slug Flow Conditioning and Control' Co-inventor: 'Technique for Production Enhancement with Downhole Monitoring of Artificially Lifted Wells' Co-inventor: 'Wellbore real-time monitoring and analysis of fracture contribution' Worldwide Experience in Training / Seminar / Workshop Deliveries: Besides delivering several SPE webinars, ALRDC and SPE trainings globally, he has taught artificial lift at Texas Tech, Missouri S&T, Louisiana State, U of Southern California, and U of Houston. He has conducted seminars, bespoke trainings / workshops globally for practicing professionals: Companies: Basra Oil Company, ConocoPhillips, Chevron, EcoPetrol, Equinor, KOC, ONGC, LukOil, PDO, PDVSA, PEMEX, Petronas, Repsol, , Saudi Aramco, Shell, Sonatrech, QP, Tatneft, YPF, and others. Countries: USA, Algeria, Argentina, Bahrain, Brazil, Canada, China, Croatia, Congo, Ghana, India, Indonesia, Iraq, Kazakhstan, Kenya, Kuwait, Libya, Malaysia, Oman, Mexico, Norway, Qatar, Romania, Russia, Serbia, Saudi Arabia, S Korea, Tanzania, Thailand, Tunisia, Turkmenistan, UAE, Ukraine, Uzbekistan, Venezuela. Virtual training provided for PetroEdge, ALRDC, School of Mines, Repsol, UEP-Pakistan, and others since pandemic. 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
Computer Science GCSE Syllabus The GCSE Computer Science Tutor Syllabus is designed to provide tutors in England with a comprehensive framework for teaching the GCSE Computer Science curriculum effectively. This syllabus aims to equip tutors with the necessary knowledge and skills to support students in their understanding and application of core computer science concepts. Module 1: Introduction to Computer Science - Overview of computer science and its relevance in today's world - Understanding the components of a computer system - Introduction to algorithms and problem-solving techniques - Exploration of programming languages and their uses Module 2: Computer Hardware - Understanding the main components of a computer system, including CPU, memory, and storage devices - Exploring input and output devices and their functionalities - Understanding the role of operating systems and software in computer systems Module 3: Software Development - Introduction to programming concepts and languages (e.g., Python or Java) - Understanding variables, data types, and operators - Building algorithms and logical reasoning skills - Introduction to flowcharts and pseudocode - Implementation of simple programs and debugging techniques Module 4: Data Representation - Understanding binary, hexadecimal, and denary number systems - Representation of text, images, and sound using binary - Introduction to data compression and encryption techniques Module 5: Computer Networks - Understanding the basics of computer networks, including LAN, WAN, and the Internet - Introduction to network topologies, protocols, and security - Exploring the impact of digital communication on society Module 6: Cybersecurity and Ethical Issues - Understanding the importance of cybersecurity and data protection - Introduction to common threats and vulnerabilities - Exploring ethical issues related to computer science, such as privacy and intellectual property rights Module 7: Algorithms and Programming Techniques - Advanced programming concepts, including conditionals, loops, and functions - Introduction to sorting and searching algorithms - Exploring data structures, such as arrays and lists Module 8: System Architecture - Understanding the structure and function of a CPU - Introduction to memory hierarchy and cache - Exploring the Von Neumann architecture and its limitations Module 9: Computational Thinking and Problem Solving - Advanced problem-solving techniques using computational thinking - Introduction to algorithms for complex problems - Exploring algorithmic efficiency and optimization techniques Module 10: Exam Preparation and Revision - Reviewing key concepts covered throughout the syllabus - Practicing past exam questions and providing guidance on exam techniques - Supporting students with exam preparation strategies Please note that the duration and depth of each module can vary depending on the level of expertise required and the specific needs of the learners. Additionally, it's important to adapt the curriculum to the learners' proficiency levels, whether they are A Level/GCSE students or adult learners with different experience levels.
Microsoft Lync training course description This course teaches IT staff how to plan, design, deploy, configure, and administer a Microsoft Lync Server solution. The course emphasizes Lync Server Enterprise Unified Communications features focussing particularly on coexisting with and migrating from legacy communication services. The labs in this course create a solution that includes IM and Presence, Conferencing, and Persistent Chat. This course helps prepare for Exam 70-336. What will you learn Describe the Lync Server architecture. Install and deploy Lync Server. Use Lync Server management interfaces. Deploy and manage clients. Manage and administer dial-in conferencing. Design audio and video for web conferencing. Plan for instant message and presence Federation. Deploy and configure persistent chat in Lync. Configure archiving and monitoring services. Troubleshoot Lync Server. Describe the required daily, weekly, and monthly maintenance tasks. Use SIP commands and analyze SIP logs. Configure high availability features in Lync. Design load balancing in Lync Server. Backup and restore Lync Server data. Microsoft Lync training course details Who will benefit: Technical staff working with Microsoft Lync. Prerequisites: Supporting Windows 2008 or 2012. Duration 5 days Microsoft Lync training course contents Microsoft Lync Server architecture Lync Server architecture, Lync core capabilities, Lync design process, assessing infrastructure requirements and updating the design, planning for all Microsoft solutions framework phases. Designing a Lync Server topology Infrastructure requirements for Lync Server, using the planning tool, using topology builder, server infrastructure, documentation. Hands on Environment preparation and Lync Server pools. Users and rights in Microsoft Lync Server Managing Lync Server, role based access control. Hands on Using the management shell, configuring role-based access control. Client/device deployment and management Deploy and manage clients, prepare for device deployment, IP phones. Hands on Clients. Conferencing in Lync Server Introduction to conferencing in Lync Server, designing for audio\video and web conferencing, dial-in conferencing in Lync Server, managing and administering conferencing. Hands on Conferencing in Microsoft Lync. Designing and deploying external access Conferencing and external capabilities of Lync Server, planning for IM and presence federation, designing edge services. Hands on Deploying Edge Server and Configuring Remote Access, Validating the Edge Server. Deploying Lync Server persistent chat Overview of persistent chat architecture in Lync Server, designing persistent chat, deploying and persistent chat. Hands on persistent chat server. Monitoring and archiving The archiving service, the monitoring service, configuring archiving and monitoring. Hands on Archiving and monitoring in Lync Server. Administration and maintenance of Lync Lync Server troubleshooting tools, Lync Server operational tasks, Lync Server troubleshooting techniques. Hands on Lync administration tools, centralized logging service, analysing Lync Server logs and traces. High Availability in Lync Server High availability in Lync Server, configuring high availability in Lync Server, planning for load balancing, designing load balancing. Hands on Configuring database mirroring, experiencing a scheduled SQL Server outage, experiencing an unscheduled SQL Server outage. Disaster recovery in Lync Server Disaster recovery in Lync Server, tools for backing up and restoring Lync Server, critical Lync Server data to back up and restore, critical data to export and import, designing branch site resiliency. Hands on Configure pool pairing, experiencing a pool failure or outage. Planning a migration to Lync Server Coexistence and migration, migration steps, planning for clients and devices. Designing a client migration and device migration strategy. Hands on Creating a migration plan, documenting the migration phases.
COBOL training course description A hands on training course providing an introduction to COBOL. What will you learn Write COBOL programs Debug COBOL programs Examine existing code and determine its function. COBOL training course details Who will benefit: Programmers working with COBOL. Prerequisites: None although experience in another high level language would be useful. A 10 day version of this course would be more applicable for those new to programming. Duration 5 days COBOL training course contents Introduction to COBOL Compilation, linkage editor. Compile errors, compiler options. Divisions, syntax and format, COBOL character set, program structure. COBOL statement structure COBOL words, format of statements. Divisions Identification entries, Environment entries, Data division: FD, record descriptions, hierarchy and level numbers, description-string entry. File and Working-Storage Sections Literals, figurative constants, redefines clause, data representation, Usage clause, synchronization, sign clause. Procedure Division File status codes; Open, Read, Write, Close, Stop, Goback; Accept, display; Move, Justified, data name qualification, reference modification. Perform statement Out-of-line, With test ... Until, ... Times, in-line statement; Go to statement. Program design Design techniques, design considerations, procedure names, program structure. Printing Printed output, Write, advancing option, editing characters; Initialize. Condition testing Conditional statements: IF, class, sign and relation conditions, condition-name conditionals, Set, compound conditions, logical operators. Evaluate, Continue. Arithmetic Rounded option, On Size Error option, Add, Subtract, Multiply, Divide, Compute. Non-sequential files File access modes, Select. Indexed and relative files. Open, Close, creating / reading sequential access files, Write, Read, Invalid key clause, reading, writing / updating Random access files, Rewrite, Delete, Start. Declarative routines Clauses. Subroutines Call, Using clause - calling program/called program, Linkage Section, returning control. Table handling Subscripted tables: One/two/three dimensional tables, Perform, variable length tables. Indexed tables: Set, using an index; Search. Copy code: Copy, Suppress, Replacing. Data Manipulation Inspect, String, Unstring. COBOL/370 LE/370 and Intrinsic Functions.
Complete Visual BASIC training course description A hands-on introduction to programming in Visual BASIC V6. What will you learn Build Visual BASIC applications. Build simple components. Debug Visual BASIC programs. Examine existing code and determine its function. Complete Visual BASIC training course details Who will benefit: Anyone wishing to program in Visual BASIC. Prerequisites: None although experience in another high level language would be useful. Duration 5 days Complete Visual BASIC training course contents Application development using VB VB features. VB editions, VB terminology. Working in the Development Environment. Event-Driven Programming. Creating a program in VB. Project and executable files. VB reference materials. Visual Basic fundamentals Objects. Controlling objects. Introduction to forms. Introduction to controls. Basic controls. Working with code and forms Modules. Working with code. Interacting with the user. Working with code statements. Managing forms. Variables and procedures Introduction to variables and constants. Working with Procedures and Functions. Controlling program execution Common VB functions. Comparison and relational operators. Conditional structures. Looping structures. Debugging Error types. Debugging logic errors in VB. Working with controls Control types. Standard controls. Advanced standard controls. ActiveX controls. Insertable controls. Data access using the ADO data control Overview of ActiveX Data Objects. VB data access features. Relational database concepts. Using the ADO data Control to access data. SQL. Manipulating data. Using the data form wizard. Input validation Field-Level validation. The masked edit control. Form-Level validation. Form events used when validating data. Error trapping Trapping run time errors. Error handling overview. Enabling an error trap. Errors and the calling chain. In line error handling. Enhancing the User Interface Menus. Status bars. Toolbars. Drag and Drop Overview of Drag and Drop. Mouse events Drag and Drop basics. More about controls Using control arrays. Using the controls collection. Working with object variables. Collections. Finishing touches User Interface design principles. Distributing an application. Creating a default project.
OOAD training course description A workshop course providing thorough practical knowledge of object oriented analysis and design methods. What will you learn Perform Systems Analysis with Object Oriented methods. Identify key classes and objects. Expand and refine OO problem domain models. Design Class hierarchies using inheritance and polymorphism. Design programs with Object Oriented methods. OOAD training course details Who will benefit: System analysts, designers, programmers and project managers. Prerequisites: It is desirable that delegates have experience of programming in C++/Java or some other OOP language. Duration 5 days OOAD training course contents What is OO? Classes, objects, messages, encapsulation, associations, inheritance, polymorphism, reusability. What is Systems Analysis and design? Data flow diagrams, structure diagrams. The OO approach. OOA The problem domain and object modelling. Identifying classes and objects. Generalisation and inheritance. Defining attributes and methods. OOD Refining the OOA results. Designing the User Interface. Designing the algorithms and data structures using objects. Designing the methods. OOP Prototyping. Implementing OOD with OOPs and OOPLs.
Complete C# programming training course description This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language. Students review the basics of C# program structure, language syntax, and implementation details, and then consolidate their knowledge throughout the week as they build an application that incorporates several features of the .NET Framework. What will you learn Use the syntax and features of C#. Create and call methods, catch and handle exceptions, and describe the monitoring requirements of large-scale applications. Implement a typical desktop application. Create class, define and implement interfaces, and create and generic collections. Read and write data to/from files. Build a GUI using XAML. Complete C# programming training course details Who will benefit: Programmers wishing to learn C#. Prerequisites: Developers attending this course should already have gained some limited experience using C# to complete basic programming tasks. Duration 5 days Complete C# programming training course contents Review of C# Syntax Overview of Writing Applications using C#, Datatypes, Operators, and Expressions. C# Programming Language Constructs. Hands on Developing the Class Enrolment Application. Methods, exceptions and monitoring apps Creating and Invoking Methods. Creating Overloaded Methods and Using Optional and Output Parameters. Handling Exceptions. Monitoring Applications. Hands on Extending the Class Enrolment Application Functionality. Developing a graphical application Implementing Structs and Enums. Organizing Data into Collections. Handling Events. Hands on Writing the Grades Prototype Application. Classes and Type-safe collections Creating Classes. Defining and Implementing Interfaces. Implementing Type-safe Collections. Hands on Adding Data Validation and Type-safety to the Grades Application. Class hierarchy using Inheritance Class hierarchies. Extending .NET framework classes. Creating generic types. Hands on Refactoring common functionality into the User Class. Reading and writing local data Reading and Writing Files. Serializing and Deserializing Data. Performing I/O Using Streams. Hands on Generating the Grades Report. Accessing a Database Creating and using entity data models. Querying and updating data by using LINQ. Hands on Retrieving and modifying grade data. Accessing remote data Accessing data across the web and in the cloud. Hands on Modifying grade data in the Cloud. Designing the UI for a graphical applicatione Using XAML to design a User Interface. Binding controls to data. Styling a UI. Hands on Customizing Student Photographs and Styling the Application. Improving performance and responsiveness Implementing Multitasking by using tasks and Lambda Expressions. Performing operations asynchronously. Synchronizing concurrent data access. Hands on Improving the responsiveness and performance of the application. Integrating with unmanaged code Creating and using dynamic objects. Managing the Lifetime of objects and controlling unmanaged resources. Hands on Upgrading the grades report. Creating reusable types and assemblies Examining Object Metadata. Creating and Using Custom Attributes. Generating Managed Code. Versioning, Signing and Deploying Assemblies. Hands on Specifying the Data to Include in the Grades Report. Encrypting and Decrypting Data Implementing Symmetric Encryption. Implementing Asymmetric Encryption. Hands on Encrypting and Decrypting Grades Reports.
Complete Python training course description Python is an agile, robust, expressive, fully objectoriented, extensible, and scalable programming language. It combines the power of compiled languages with the simplicity and rapid development of scripting languages. This course covers Python from the very basics of 'hello world!' through to object oriented programming and advanced topics such as multi threading. Hands on follows all the major sections in order to reinforce the theory. What will you learn Read Python programs. Write Python programs. Debug Python programs. Use Python's objects and memory model as well as its OOP features. Complete Python programming training course details Who will benefit: Anyone wishing to learn Python. Prerequisites: None. Duration 5 days Complete Python programming training course contents Welcome to Python: What is Python? Origins, features. Downloading and installing Python, Python manuals, comparing Python, other implementations. Getting started: Program output, the print statement, "hello world!", Program input, raw_input(), comments, operators, variables and assignment, numbers, strings, lists and tuples, dictionaries, indentation, if statement, while Loop, for loop. range(), list comprehensions. Files, open() and file() built-in functions. Errors and exceptions. Functions, Classes, Modules, useful functions. Python basics: Statements and syntax, variable assignment, identifiers, basic style guidelines, memory management, First Python programs, Related modules/developer tools. Python Objects: Other built-in types, Internal Types, Standard type operators, Standard type built-in functions, Categorizing standard types, Unsupported types. Numbers: Integers, Double precision floating point numbers, Complex numbers, Operators, Built-in and factory functions, Other numeric types. Sequences: strings, lists, and tuples: Sequences, Strings, Strings and operators, String-only operators, Built-in functions, String built-in methods, Special features of strings, Unicode, Summary of string highlights, Lists, Operators, Built-in functions, List type built-in methods, Special features of lists, Tuples, Tuple operators and built-in functions, Tuples special features, Copying Python objects and shallow and deep copies. Mapping and set types: Mapping Type: dictionaries and operators, Mapping type built-in and factory functions, Mapping type built-in methods, Dictionary keys, Set types, Set type operators, Built-in functions, Set type built-in methods. Conditionals and loops: If, else and elif statements, Conditional expressions, while, for, break, continue and pass statements, else statement . . . take two, Iterators and iter(), List comprehensions, Generator expressions. Files and input/output: File objects, File built-in functions [open() and file()], File built-in methods and attributes, Standard files, Command-line arguments, File system, File execution, Persistent storage modules. Errors and exceptions: What are exceptions? Detecting and handling exceptions, Context management, Exceptions as strings, Raising exceptions, Assertions, Standard exceptions, Creating Exceptions, Why exceptions, Exceptions and the sys module. Functions: Calling, creating and passing functions, formal arguments, variable-length arguments, functional programming, Variable scope, recursion, generators. Modules: Modules and files, Namespaces, Importing modules, Module import features, Module built-in functions, Packages, Other features of modules. Object-Oriented Programming (OOP): Classes, Class attributes, Instances, Instance attributes, Binding and method invocation, Static methods and class methods, Composition, Sub-classing and derivation, Inheritance, Built-in functions for classes, and other objects, Customizing classes with special methods, Privacy, Delegation, Advanced features of new-style classes (Python 2.2+), Related modules and documentation. Execution environment: Callable and code Objects, Executable object statements and built-in functions, Executing other programs. 'Restricted' and 'Terminating' execution, operating system interface. Regular expressions: Special symbols and characters, REs and Python, Regular expressions example. Network programming: Sockets: communication endpoints, Network programming in Python, SocketServer module, Twisted framework introduction. Internet client programming: What are internet clients? Transferring files, Network news, E-mail. Multithreaded Programming: Threads and processes Python, threads, and the global interpreter lock, The thread and threading Modules. GUI programming: Tkinter and Python programming, Tkinter Examples, Brief tour of other GUIs. Web programming: Web surfing with Python: creating simple web clients, Advanced Web clients, CGI: helping web servers process client data, Building CGI applications, Using Unicode with CGI, Advanced CGI, Web (HTTP) Servers. Database programming: Python database application programmer's interface (DB-API), ORMs. Miscellaneous Extending Python by writing extensions, Web Services, programming MS Office with Win32 COM, Python and Java programming with Jython.
Advanced C++ training course description The course will give a broad overview of the C++ Programming language, focusing on modern C++, up to C++17. This course will cover the use of the Standard Library, including containers, iterator, function objects and algorithms. From the perspective of application development, a number of design patterns will be considered. What will you learn Write C++ programs using the more esoteric language features. Utilise OO techniques to design C++ programs. Use the standard C++ library. Exploit advanced C++ techniques Advanced C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C++ programming foundation. Duration 5 days Advanced C++ training course contents Study of a string class Create a string class as a means to investigate many issues, involving the use of operator overloading and including overloading new and delete. Creation of the class will also require consideration of 'const correctness'. Exception handling Consider the issues involved in exception handling including the concept of exception safety. Templates Review definition of template functions, including template parameter type deduction. Introduction to template metaprogramming. Newer features including template template parameters and variadic templates. Creation of template classes. Design patterns Introduction to Design Patterns and consideration of a number of patterns, such as, factory method, builder, singleton and adapter. The standard C++ library (STL) Standard Library features, such as, Containers, Iterator, Function Objects and Algorithms. Introduction to Lambda expressions. C++ and performance The writing of code throughout the course will be oriented towards performant code, including use of R Value references and 'move' semantics. Pointers The use of pointers will be considered throughout the course. Smart pointers will be considered to improve program safety and help avoid the use of 'raw' pointers. Threading This section will consider the creation of threads and synchronisation issues. A number of synchronisation primitives will be considered. Async and the use of Atomic will also be considered. New ANSI C++ features Summarising some of the newer features to be considered are: Auto, Lambdas expression, smart pointers, variadic templates and folds, R Value references and tuple together with structured binding.
C++ training course description A hands on introduction to programming in the C++ language. The course concentrates on aspects that will be new to experienced C programmers and so is not suitable for those without C knowledge. What will you learn Write C++ programs Debug C++ programs. Examine existing code and determine its function. Use classes, function overloading, operator overloading, inheritance and virtual functions within C++ programs. C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C programming foundation. Duration 5 days C++ training course contents The origins of C++ C++ as a better C, C++ and Object Oriented Programming, encapsulation, polymorphism, inheritance. C++ standards. Getting started Simple C++ programs. Classes Basics, constructor and destructor functions, member and friend functions. Using objects. Default, copy and conversion constructors. A better C Arrays, pointers and references, new and delete. Improved safety with smart pointers, Resource Acquisition in Initialization (RAII). Functions in C++ Function overloading, default arguments, inline functions, Lambda functions. Templates Template classes and functions. Standard Library Containers, Iterators, algorithms, function objects. Operator overloading Basics, binary operators, the this pointer, relational operators, unary operators. Members versus friends. Inheritance Base class access control, protected members, multiple inheritance, virtual base classes. More I/O Manipulators, customising inserters, extractors. File I/O. Virtual functions Pointers to derived classes, run time polymorphism. Exception handling Throwing errors, trying code and catching errors.