About this Training Course Oil & Gas professionals increasingly need to translate complex findings, analysis and recommendations for effective decision-making. If you face challenges in getting your findings into paper, you will benefit from this training course. The Technical Report Writing and Presentation Skills for Oil & Gas Engineers and Technical Professionals course focuses on the unique needs of technical professionals who write for both technical and non-technical readers. This separately bookable training course will demonstrate how technical professionals can use their technical knowledge and logical edge to write in a reader-friendly style, produce grammatically accurate reports and persuasively communicate for buy-in purposes. An ILM Recognised programme. Training Objectives LEARNING OUTCOMES FOR TECHNICAL REPORT WRITING SKILLS By the end of this course, participants will be able to: Write and turn-around accurate technical documents quickly to meet deadlines and productivity goals Understand how technical reports should be structured by applying a systematic approach to the writing task, involving planning, drafting, revision and production Use clear & powerful language to target and persuade readers for positive results Use tried and tested proof reading techniques to check and review documents more effectively Identify and avoid common pitfalls in technical report writing LEARNING OUTCOMES FOR TECHNICAL PRESENTATION SKILLS By the end of this course, participants will be able to: Present and sell your technical presentation more effectively both internally and externally Plan and structure your meetings and presentations for maximum effect Capture your technical and non-technical audience by delivering your presentation with power and authority Handle questions, interruptions and objections with confidence Target Audience This programme has been researched and developed for all Oil & Gas Engineers and Technical Professionals Course Level Basic or Foundation Trainer Your course leader managed the Business Skills Unit of the British Council programmes as well as oversee all training-related matters from 1997. The trainer considers himself a trainer first and specialises predominantly in high-level writing and technical report writing programmes. In addition to conducting training in Technical Writing, the trainer has also been the chief editor for many large writing projects. These include a year-long project editing the entire Start-Up Manual (including the Black Start Manual) for Nippon Oil's Helang Integrated Platform, a 4-month project rewriting the manuals for the Puteri Dulang FSO off Terengganu, and editing the current revision of the PETRONAS Procedures and Guidelines for Upstream Activities (PPGUA). 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
This very practical workshop is designed to enable participants to improve the impact, clarity and accuracy of their business documents - both internal and external.: This workshop will help participants: Identify the purpose of writing their documents - to themselves and to their readers Recognise and meet the needs of their readers Plan documents systematically and improve the layout, flow and structure Express the content more clearly, concisely and correctly Adapt the tone and style of writing to the circumstances Proof-read and edit work effectively, using formal marks and techniques Improve visual layout, format and appearance 1 Course objectives Welcome and Introductions The problems now - group discussion 2 Writing better business documents What points to highlight / exclude Starting off Introductions Conclusions Executive summaries 3 Rules and standards George Orwell's famous maxim Why write? - clarifying your aims and objectives A seven-step method for better preparation The three-stage process for writing well Grouping information for your reader 4 Proof-reading and editing The difference between proof-reading and editing Proof-reading methods and strategies Proof-reading marks and techniques Training your eye for detail Knowing what to look for 5 Effective editing Grammar and English standards Words - usage and spelling Sentences - units of thought Paragraphs - themes Punctuation - spotting and correcting common errors Say what you mean - active v passive language 6 How's your English? Grammar quizzes and punctuation test Spotting spelling errors Rephrasing jargons and clicheÌs Common error's and mistakes 7 Document layout House style Use of white space Fonts and effects 8 One-to-one workshops These are practical sessions with one-to-one consultation with colleagues and the trainer They are held at key points to consolidate the learning from different sessions 9 Course summary Summary of key points Action plans
Event Planning 1 Day Training in Tonbridge
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.
Advanced Python training course description This course caters to network engineers aiming to enhance both their Python proficiency and network automation skills. Delving deeper into key areas such as netmiko, Nornir, and ncclient, we also focus on automating network testing and validation. Participants gain greater confidence working with Python functions, classes, objects, and error handling. The course additionally introduces more libraries like Scrapli, TTP, pyATS, Genie, pybatfish, and Suzieq, which cover parsing strategies, automation testing, validation, network analysis, observability, and telemetry. The curriculum also encompasses concurrency techniques. What will you learn Write Python modules and functions. Evaluate techniques to parse unstructured data. Use NETCONF filters. Handle Python errors effectively (try, assertâ¦). Use postman. Automate testing and validation of the network. Use scrapli, Genie, batfish and Suzieq. Advanced Python training course details Who will benefit: Network engineers. Prerequisites: Python for network engineers Duration 5 days Advanced Python training course contents Review CLI, NETCONF, RESTCONF, structured versus unstructured data, gNMI and when to use which. PEP 8. Naming conventions. Packages, modules, Classes and methods. The scrapli library. Netmiko versus scrapli. Hands on: scrapli, Dictionaries versus Regular Expressions. Modules and Functions Writing your own modules, containers versus packages, virtual environments. Best practices, calling functions, writing your own functions. Parameters, arguments. Named arguments, dictionaries as arguments. Builtins. Docstrings. Main. __name__, __main__ . Program arguments. Hands on: Getting interfaces, showing interface status using Netmiko and functions. Using dictionaries as arguments. Writing your own modules. Parsing strategies Turning unstructured data into structured data. textfsm, PyATS Genie parser, NAPALM getters, Template Text Parser. Hands on: Genie parser, TTP. Accessing structured data with lists and dictionaries. Classes, objects and Python Python classes in Genie, PyEZ and others . Hands on: studying network automation classes, objects, methods and attributes. Configuration management - more nornir, ncclient, requests Nornir tasks. Nornir results, Nornir functions, Nornir plugins. Nornir processors. YANG, YANG models, pyang. NETCONF hello. Capabilities. Schemas. Filters. Subtrees. XPATH. Exploring available YANG data models. NETCONF and network wide transactions. Asserting NETCONF capabilities. Configuration types. Locking configurations, commits. NETCONF data stores. Netconf-console. RESTCONF differences from NETCONF. URI construction. Postman. More XML and JSON. Git and configuration versions. Hands on: Nornir and Jinja2. Exploring available models, NETCONF filters. Using postman. Python error handling and debugging Context handlers, try, assert, logging, pdb, pytest, unit testing, chatgpt. Hands on: Writing code with each of the error handling methods, investigating what happens on an error. Use chatgpt to debug your code. Python Automation Testing Testing and validation. pyATS, Genie. Testbed file. Genie parse, genie learn, genie diff. Genie conf, Genie ops, Genie SDK, Genie harness. Xpresso. Hands on: Using Genie for state comparisons of the network. Network analysis Batfish, pybatfish, configuration analysis, analysing routing, analysing ACLs. Pandas. Pandas dataframe. Filtering and selecting values of interest. Hands on: Use Batfish to analyse network snapshots, find network adjacencies, flow path analysis. Network observability Suzieq, using docker, using as a package. Sqpoller, suzieq-gui, suzieq-cli, sq-rest-server. Namespaces and seeing devices, network state and Asserts. Time based analysis, snapshots and changes. Hands on: Suzieq: Gathering data from the network, analysing data from the network. Network state assertion. Telemetry gRPC, gNMI. CAP, GET, SET. Subscriptions. Model Driven telemetry. Hands on: Analysing telemetry data with Python. Concurrency asyncio, threads, processes. Nornir concurrency. Scrapli and netmiko concurrency. Hands on: Multiple SSH connections to devices at same time. Scarpli asyncio.
This half day course is designed for voluntary and community organisations and those involved in community development who need to write funding applications and want to ensure that their bids are clear, focussed and meet the funders’ criteria.
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.
MySQL for developers training course description This MySQL Developers training course is designed for MySQL Developers who have a good understanding of a MySQL database and experience of using SQL commands. The course provides further practical experience in more advanced MySQL commands and SQL statements including Stored Routines, Triggers and Event Scheduling. What will you learn Provide the skills needed to write more advanced queries and database maintenance statements on a MySQL database. Use advanced features of the MySQL Client. Use advanced data types. Manage the structure of databases and tables. Manage and using indexes. Write complex SQL query statements. Use advanced SQL expressions. Use advanced SQL functions. Perform advanced Insert, Update, Delete, Replace and Truncate Operations. Use user variable syntax and properties. Import and export data from within MySQL. Import and export data from the command line. Perform complex joins to access multiple tables. Perform complex subqueries. Create, manage and us views. Use prepared statements. Create and use stored routines. Create and use triggers. Obtain database metadata. Optimize queries. Work with the main storage engines. Debug MySQL applications. MySQL for developers training course details Who will benefit: MySQL Developers who have a basic understanding of a MySQL database and SQL commands as covered on the Introduction to MySQL course. Prerequisites: MySQL foundation Duration 5 days MySQL for developers training course contents Introduction Administration and Course Materials, Course Structure and Agenda, Delegate and Trainer Introductions. Client/server concepts MySQL client/server architecture, Server modes, Using client programs, Logging in options, Configuration files, Precedence of logging in options Hands on Using client/server The MySQL client program Using MySQL interactively, The MySQL prompts, Client commands and SQL statements, Editing, Selecting a database, Help, Safe updates, Using script files, Using a source file, Redirecting output into a file, Command line execution, Mysql output formats, Overriding the defaults, Html and xml output, MySQL Utilities. Hands on Using the MySQL client program Data types Bit data type, Numeric data types, Auto_increment, Character string data types, Character sets and collation, Binary string data types, Enum and Set data types, Temporal data types, Timezone support, Handling Missing Or Invalid Data Values, SQL_MODE options. Hands on Using data types Identifiers Using Quotes with identifier naming, Case sensitivity in Identifier naming, Qualifying columns with table and database names, Using reserved words as identifiers, Function names Hands on Using identifiers Databases Database properties, Creating a database, Selecting a database, Altering databases, Dropping databases, Obtaining database metadata, The SHOW command, The INFORMATION_SCHEMA database, The SHOW CREATE command Hands on Using databases Tables and indexes Table properties, Creating tables, Create table using Select or Like, Temporary tables and memory tables, Altering tables, Adding columns, Changing column widths and types, Renaming columns, Dropping columns, Adding constraints, Dropping constraints, Renaming tables, Change the table storage engine, Multiple alterations, Dropping tables, Emptying tables, Obtaining table metadata, Show create table, The information_schema, Index introduction, Structure of a mysql index, Creating and dropping indexes, Creating an index, Altering a table to add an index, Specifying index type, Dropping indexes, Obtaining Index Metadata. Hands on Creating, altering and dropping tables/indexes Querying for data The SQL select statement and MySQL differences, Advanced order by, Order by and collation, Order by with enum datatype, Order by with Set datatype, Ordering with distinct and group by Special features of union, Limit and order by clauses, Group By clause, Group_concat, Using Rollup in a Group By clause. Hands on Querying for data SQL Expressions and functions Components of expressions, Nulls, Numeric expressions, String expressions, Temporal expressions, Comparison functions, Flow control functions, Numeric functions, String functions, Temporal functions. Hands on Using expressions and functions Updating data Update operations and privileges, Inserting rows, Insert using a set clause, Inserting duplicate values, Replacing rows, Updating rows, Update using the order by and limit clauses, Deleting rows, The delete and truncate statements. Exercise: Inserting, updating, replacing and deleting data Connectors MySQL client interfaces, MySQL connectors, Oracle and community conectors, Connecting to MySQL server using Java and PHP connectors, MySQL and NoSQL, Innodb integration with memcached. Obtaining database metadata What is metadata?, The mysqlshow utility, The show and describe commands, Describing tables, The information_schema, Listing tables, Listing columns, Listing views, Listing key_columns_usage. Hands on Obtaining database metadata Debugging Mysql error messages, The show statement, Show errors, Show count(*) errors, Show warnings, Show count(*) warnings, Note messages, The perror utility. Hands on Debugging Joins Overview of inner joins, Cartesian product, Inner joins with original syntax, Non equi-join, Using table aliases to avoid name clashes, Inner Joins With ISO/ANSI Syntax, Outer Joins, Left outer joins, Right outer joins, Full outer joins, Updating multiple tables simultaneously, Updating rows in one table based on a condition in another, Updating rows in one table reading data from another, Deleting from multiple tables simultaneously, Deleting rows in one table based on a condition in another. Hands on Coding joins Subqueries Types of subquery, Multiple-column subqueries, Correlated subqueries, Using the ANY, ALL and SOME operators, Using the EXISTS operator, Subqueries as scalar expressions, Inline views, Converting subqueries to joins, Using subqueries in updates and deletes. Hands on Coding subqueries Views Why views are used, Creating views, View creation restrictions, View algorithms, Updateable views, Altering and dropping views, Displaying information about views, Privileges for views. Hands on Using views Import and Export Exporting using SQL, Privileges required to export data, Importing using SQL, Messages when loading data, Privileges required to load data, Exporting from the command line, Mysqldump main options, Importing from the command line, Mysqlimport main options. Hands on Importing and exporting User variables and prepared statements Creating User variables, User variables in a select, Prepared statements, The prepare statement, The execute statement, The deallocate statement, Using prepared statements in code, with connectors. Hands on Using variables and prepared statements Introduction to stored routines Types of stored routines, Benefits of stored routines, Stored routine features, Differences between procedures and functions, Introduction to the Block, Declaring variables and constants, Assigning values to variables, Definer rights and invoker rights, Using SELECT in stored routines, Altering and dropping stored routines, Obtaining stored routine metadata, Stored routine privileges and execution security. Hands on Writing simple stored routines Stored routines - program logic The IF .. THEN .. ELSEIF construct, The CASE statement, The basic loop, The while loop, The repeat loop, The iterate statement, Nested loops. Hands on Writing stored routines with program logic Stored routines - exception handlers and cursors Dealing with errors using Exception handlers, Cursors, What is a cursor?, Cursor operations, Declaring cursors, Opening and closing cursors, Fetching rows, Status checking. Hands on Writing stored routines with program logic Procedures with parameters Creating procedures with parameters, Calling Procedures With Parameters. Hands on Writing stored routines with parameters Functions What is a function?, The create function statement, Executing functions, Executing functions from code, Executing functions from SQL statements, The deterministic and SQL clauses. Hands on Writing functions Triggers Trigger creation, Restrictions on triggers, The create trigger statement, Using the old and new qualifiers, Managing triggers, Destroying triggers, Required privileges. Hands on Writing triggers Basic optimizations Normalisation of data to third normal form, Using indexes for optimization, General query enhancement, Using Explain to analyze queries, Choosing an INNODB or MYISAM storage engine, Using MySQL Enterprise Monitor in query optimization. Hands on Making use of basic optimizations More about indexes Indexes and joins Hands on Investigating indexes and joins
Python training course description This Python course focusses on teaching Python for use in network automation and network DevOps. We focus on getting delegates up and running with Python and network automation as quickly as possible rather than making them great programmers. In other words we concentrate on enabling delegates to use network automation libraries such as netmiko, NAPALM and Nornir, and APIs such as NETCONF and RESTCONF rather than enabling delegates to produce object oriented programs. Hands on sessions use Cisco and Juniper devices. What will you learn Run Python programs. Read Python programs. Write Python programs. Debug Python programs. Automate network tasks with Python programs. Configure network devices with Python. Collect data from network devices with Python. Python training course details Who will benefit: Network engineers. Prerequisites: TCP/IP Foundation Duration 5 days Python training course contents What is Python? Programming languages, Why Python? Python in interactive mode, Python scripts, ipython, Python version 2 versus version 3. A simple Python script. Comments. Hands on Installing Python, Hello world. A network example On box vs off box Python. telnet, ssh, NETCONF, HTTP, APIs, manufacturers and API support, analysis of a simple telnetlib program. Hands on Using Python to retrieve the configuration from a network device. Using wireshark to analyse the actions. Python basics I/O, operators, variables and assignment, types, indentation, loops and conditionals. Hands on Modifying the telnet program, changing configurations on a network devices. Functions, classes and methods What are functions, calling functions, builtin functions, useful builtin functions, file handling, classes, objects, creating instances. Hands on Storing configurations in files, configuring devices from files, using an inventory file to work on multiple devices. Libraries and modules Modules, files and packages, import, from-import, Python standard library, other packages, pip install, executing other programs. Managing python libraries. Hands on Using pip, installing and using ipaddress, subprocess to access netsnmp. For the more advanced, using the sockets library. Paramiko and netmiko SSH, enabling SSH on devices, keys. Paramiko versus netmiko, example scripts. pexpect. Hands on Configuring VLANs from Python. pySNMP Gathering facts using previous methods, SNMP review, pySNMP GET, pySNMP and SNMPv3. easySNMP library. Hands on Walking a MIB from Python. NETCONF What is NETCONF? Enabling NETCONF on devices, A first ncclient script, device handlers, get_config, edit_config, copy_config, delete_config, commit, validate, pyEZ, utils_config, utils.sw. Hands on Configuration using ncclient and PyEZ. This session is expanded for those interesting in JunOS automation. Manipulating configuration files Builtin functions, string handling. Unicode. Sequences, strings, lists, tuples. Dictionaries. TextFSM. Regular expressions. JSON, YAML, XML, YANG, Jinja2, templates. Hands on Jinja2 templating with Python to configure network devices. NAPALM Getters, configuration operations, supported devices, NAPALM transport, Config-replace, Config-merge, Compare config, Atomic changes, rollback. Example NAPLAM scripts. Hands on Using NAPALM to gather facts, Using NAPALM for configuration management REST and RESTCONF What is REST, HTTP methods, GET, POST, cURL, Postman, Python requests library. RESTCONF, a RESTCONF example. Hands on Modifying a configuration using RESTCONF. Scapy What is scapy, Scapy in interactive mode, Scapy as a module. Hands on Packet crafting from Python. Warning Errors and exceptions, Exception handling, try, except. Memory management. Garbage collection. Context management, With. Hands on Improving Python code. Nornir What is Nornir? A network automation framework, inventories, connection management and parallelization. Nornir architecture and other libraires. Hands on Setting up nornir, nornir fact gathering, nornir tasks. Optional Writing your own functions, Writing your own classes. pyntc. Hands on Writing reusable code.
Communication Skills 1 Day Training in Tonbridge