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.
Objective-C programming training course description A hands on introduction that will allow you to master Objective-C and start using it to write powerful native applications for even the newest Macs and iOS devices! Using The step-by-step approach, will let you get comfortable with Objective-C's unique capabilities and Apple's Xcode 5 development environment. Make the most of Objective-C objects and messaging. Work effectively with design patterns, collections, blocks, foundation classes, threading, Git and a whole lot more. Every session builds on what you've already learned, giving a rock-solid foundation for real-world success! What will you learn Use Xcode 5. Declare classes, instance variables, properties, methods, and actions. Use arrays, dictionaries, and sets. Expand and extend classes with protocols, delegates, categories, and extensions. Use Apple's powerful classes and frameworks. Objective-C programming training course details Who will benefit: Developers wanting to learn Objective-C. Prerequisites: Software development fundamentals. Duration 5 days Objective-C programming training course contents PART 1: GETTING STARTED WITH OBJECTIVE-C The Developer Program: Objective-C, enrolling as an Apple Developer, setting up the development environment, Xcode. Your first project. OO programming with Objective-C: OO projects, Frameworks, classes and instances, encapsulation, accessors, Inheritance. OO features in Objective-C: Messages, methods, working with id, nesting messages, method signatures and parameters. allocating and initializing objects. Using Xcode: Xcode, source code control, git and Xcode, Using a Remote Repository. Compiler Directives: Projects, Compiler Directives, Prefix headers, main.m, .h files. PART 2: OBJECTIVE-C BASICS Messaging in a Testbed App: Setting Up the Testbed Apps, Adding a Text Field and Connecting It to Your Code, Sending a Message to the Text Field, Reviewing the Message Syntax. Declaring a Class in an Interface File: Context, Creating an Instance Variable with id, What Happens When Execution Stops, dynamic binding, Creating an Instance Variable for with the Class Name and with a Superclass Name, instance variable visibility. Properties in an Interface File: Interface Variables vs Properties, Declared Properties, Using Attributes. Implementing Properties. @synthesize, @dynamic. Methods in an Interface File: Methods in a Class, class and instance methods, Method declaration, returning complex data structures from Methods. Actions in an Interface File: Actions, Actions in OS X and iOS, disconnecting actions. Routing messages with selectors: Receiver and selector objects in messages, Objective-C Runtime, SEL and @selector (), performSelector, NSInvocation, testing whether an Instance can respond to a selector. Building on the Foundation: The Foundation Framework, Foundation Classes, Foundation Paradigms and Policies; Mutability, class clusters, notifications. Defining a Class in Implementation Files: Projects, dynamic typing, creating a new App, implementing a method, expanding Classses with init Methods. Organizing Data with Collections: Collecting Objects, Property Lists, Runtime, comparing the Collection Classes, Creating a Collection, Objective-C Literal Syntax, Enumerating collections, Testing Membership in a Collection, Accessing an Object in a Collection. Managing Memory and Runtime Objects: Managing objects in memory, managing reference counts manually and with ARC, variable qualifiers, variable autorelease. PART 3: EXPANDING AND EXTENDING CLASSES Protocols and Delegates: Subclassing, Protocols, Delegates, Looking Deeper Inside Protocols. Categories and Extensions: Comparing categories and protocols, categories vs subclasses, working with categories, class extensions, informal protocols. Associative References and Fast Enumeration: Objective-C 2.0 Time-Saving Features, Extending Classes by Adding Instance Variables (Sort of), Using Fast Enumeration. Blocks: Revisiting Blocks, Callbacks, Blocks, Exploring Blocks in Cocoa, Cocoa Blocks and Memory. PART 4: BEYOND THE BASICS Handling Exceptions and Errors: Exception and Error classes: NSException, NSError, Identifying exceptions, throwing exceptions, catching exceptions. Queues and Threading: Getting Started with Concurrency, Introducing Queues, Dispatch Sources, Using Dispatch Queues. Working with the Debugger: Logging Information, Console Logs, NSLog, Smart Breakpoints, enhancing breakpoints with messages. Using Xcode Debug Gauges for Analysis: Debug Gauges, Monitoing CPU and memory utilization, monitoring energy, Using Instruments. PART 5: OPTIONAL TOPICS C Syntax Summary: Data Types, Control Structures. Apps, Packages, and Bundles: Project Bundles, lproj Files, Asset Catalogs, plist Files, Precompiled Header Files (.pch). Archiving and Packaging Apps for Development and Testing: Archiving.
If your organisation manages contractors then your staff need to understand the health and safety issues. This course is the answer. The expert trainer will set out clearly the legal responsibilities of all relevant parties and explore the practical application of these responsibilities with the course participants. The course will then examine the issues associated with the planning of work to be contracted out and the evaluation, selection, control and monitoring of contractors engaged to undertake the work. Although the main focus is on health and safety, the course will also explain how health and safety issues need to be integrated into your organisation's functional management processes to ensure effective control of contractors. The course will consider all types of contracted activities, including construction and maintenance, cleaning, security, plant installation, etc. This programme will give participants: A clear understanding of the organisation's legal responsibilities for managing contractors The information they need to assess the competence of contractors A practical understanding of risk assessment principles and the transfer of risk to contractors A step-by-step guide to the key aspects of managing contractors in practice, covering:Planning of the workSelecting contractorsHandover prior to work commencementDuring the workReviewing the work on completion Practical guidance on the integration of health and safety controls into organisational procedures for contractor management 1 Introduction Who are contractors? Why manage contractors? Different types of contractors Costs of poor contractor performance 2 Overview of health and safety law and liability Health and safety law and statutory duties Relevance of civil and criminal law Enforcement and prosecution 3 Relevant legislation for controlling contractors Health and Safety at Work Act 1974 Management of Health and Safety at Work Regulations 1999 Construction (Design and Management) Regulations 1994 (as amended, 2007) Other relevant legislation Contract law 4 Managing contractors in practice Exercise - how well is it happening? The objectives Five step approachPlanning of the workSelecting contractorsHandover prior to work commencementDuring the workReviewing the work on completion 5 Planning the work Scope and extent Risk assessment Interface and other activities Who controls what? Contract arrangements 6 Selecting the right contractor(s) Locating contractor organisations Selection the right contractors Assessing contractor competence Approved lists/frameworks Tender process 7 Pre-work commencement Co-ordination and co-operation Exchange of information Contractor risk assessments and method statements Permits to work Case study exercise 8 During contract work Communication and liaison Supervision and inspection of the work Inspection and reporting procedures Security issues Facilities and access 9 Reviewing work on completion Why, what and how? Achieving continuous improvement in contractor performance 10 Questions, discussion and review
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.
Software comes in a variety of guises - application software, firmware, middleware, system software. Increasingly, however, it doesn't necessarily present that way, especially as the boundaries between software, data and source code are becoming more and more blurred. And as software becomes more complex and more difficult to disentangle, so it becomes harder to manage and to value. But as it becomes more integral to every aspect of a business, so it is ever more important to keep on top of the technical, legal and commercial issues that arise, issues such as: To address these issues, organisations need a process for evaluating their current situation from all perspectives and for identifying the key actions they need to take to ensure holistic management of their software. This very practical programme will help set your organisation on the right path. Note: this is an indicative agenda, to be used as a starting point for a conversation between client and consultant, depending on the organisation's specific situation and requirements. This programme is designed to give you a deeper understanding of: The technical, legal and commercial risks associated with software development, procurement, use and commercial exploitation The most appropriate processes and responsibilities for managing those risks Note: this is an indicative agenda, to be used as a starting point for a conversation between client and consultant, depending on the organisation's specific situation and requirements. 1 Software business model What is the software business model? What options exist? Has the software business model been thoroughly reviewed to ensure its viability? This means fully understanding the market opportunity, the business environment and customer and end-user expectations. 2 Technology What are the technologies? How has the technology selection been validated considering the competitiveness, structure, and potential for future innovation? 3 UI and UX What is the UI and UX? How to best articulate this? Has the user interface and user experience been studied from both a subjective and objective view to give insight into customer behaviour? 4 Legal framework / commercial aspects Has the necessary legal framework or commercial aspects that may impact upon use or operation of the software been understood and risks identified and mitigated? 5 Software development What is the software development process? Are both the business management and development team's processes resilient in order to improve the company's capability and the maturity of the software? 6 Software quality What is quality? What are the metrics around software quality? What is the maturity level, based around a qualitative and quantitative assessment? 7 Intellectual property associated What IP should be considered when it comes to software? Does the company understand both the intellectual property risks and potential opportunities associated with this software? 8 Security What does software security mean in this context? How is it being addressed? 9 An holistic approach Review of roles and responsibilities to ensure appropriate management and protection
This Health & Safety in the Care Sector Course works alongside, and helps, learners understand Standard 13 of the Care Certificate. This Standard touches on the legislation, policies & responsibilities relating to Health & Safety in the care sector, as well as looking at accidents and sudden illnesses.
GPON and FTTx networks training course description Designed to benefit those requiring an in depth knowledge of the principles and applications of Ten Gigabit and Gigabit Passive Optical Networking and Fibre to the X in NG Networks applications and their associated equipment, its flexibility and function within a modern transmission network. Using an effective mix of 'hands on' equipment instruction and correlation to theory based learning the delegate will gain a complete understanding of the equipment and the tasks to be undertaken in a real life situation. What will you learn Compare PON/FTTx systems. Explain network elements and designs. Support applications and network interfaces. List circuit provisioning and bandwidth requirements. Understand upstream & downstream issues. Describe headend & network elements/OLT-ONT. Perform network testing with OTDR test sets. GPON and FTTx networks training course details Who will benefit: Anyone working with GPON and FTTx. Prerequisites: Introduction to data communications and networking. Duration 5 days GPON and FTTx training course contents FTTN, FTTC, FTTH SMF, MMF, Fibre safety and properties (dispersion/attenuation), Fibre reel cables and types, Fibre installation and air blown fibre, Transmitters and receivers - power budget/laser classes. Fibre to the home (FTTH), FTTC (Fibre to the Cabinet), FTTN (Fibre to the node) , FTTD (Fibre to the desk), FFTH topologies and wavelengths, Active or passive optical network. WDM equipment and GPON OSP design Wavelength considerations, WDM/DWDM/CWDM, EDFA optical amplification, AWG (Arrayed Waveguide Grating) splitters , Couplers (splitters) and losses, Optical splitters 1x2, 1x4, 1x8, 1x16, 1x32, 1x64, 2x64. PON variants Gigabit passive optical network (GPON), Gigabit Ethernet passive optical network (GEPON), Time division PON (TDM-PON), Wave Division Multiplexing PON (WDM-PON), 1Gbps, 10Gbps, 40Ggps, 100Gbps FSAN (Full Service Access Network) NGA (Next Generation Access), Strategies for TDM-PON to WDM-PON migration, Architecture of NG-PON (hybrid WDM/TDM PON), Additional services than triple play. GEPON design GPON OSP centralized and distributed design, GPON PON splitters x4 x8 x32, Fibre splice trays /cassette trays & enclosures, GPON field testing and installation verification, GPON physical layer testing, Optical time domain reflectometer (OTDR), Optical power source & meter, Optical return loss (ORL), APON/BPON/GPON/EPON comparisons. GPON ITU-T G.984.1 Reference model, terminology & architecture, Access network system management functions. ONT & OLT functional block examples. FTTx scenarios, 4 switching arrangements for external access network backup. GPON ITU-T G.984.2 Physical layer, Enhancement band, Bit rate and wavelengths, FEC and RAMAN. GPON ITU-T G.984.3 Frame structure, GPON encapsulation method (GEM), GTC adaptation and framing sublayer protocol stack, Status reporting & traffic monitoring DBA (SR-DBA & TM-DBA), Transmission container (T-CONT) types, Downstream & upstream multiplexing, GEM port identifier, Media access control and ONU registration, Extended bandwidth assignment model scheduling architecture, PLOAM & alarm messages, Downstream & Upstream FEC, Process order in a GTC transmit flow. GPON ITU-T G.984.4 and G.988 ONT management and control interface (OMCI) Management interface, Reference model, Typical ONT with SCTE 55-1 or SCTE 55-2 compliancy. GPON ITU-T G.984.5 enhancement band Band options, GPON NGA, Wavelength allocation. GPON ITU-T G.984.6 optical reach extension (G.984.re) Reach extension (RE), OA-based and OEO-based reach extenders, Protection, Reach extender with OTDR blocking filters (BF) and bypass (BYP) filters. GPON ITU-T G.984.7 long reach Quiet Window. 10-GPON ITU-T G.987.1 (XG-PON) Scenarios, reference access network architecture, XG-PON with G-PON through WDM1r, G-PON and XG-PON wavelength allocation, G-PON and XG-PON co-existence with video overlay option, RE migration scenarios. G.989 40Gbps XG-PON2 Functional reference architecture, NG-PON2 system coexistence with legacy systems, Definitions of legacy compatibility terminology. GPON issues and standards GPON components GPON OLT / GPON ONT, GPON management, Operational support systems (OSS), Network management systems (NMS), OMCI (ONT Management control interface), RG (Residential gateway), Data and prioritised voice channel product, GPON broadband-forum standards, Broadband-forum , TR-069 and TR-156, HPNA (home phone network alliance), Powerline carrier (PLC), GPON DLNI G.hn or G.9960, MOCA, FTTH council certification standard for network certification. Fibre-connected home badge, Ethernet in the first mile (EFM), GPON frame synchronization to network timing, Direct clock synchronization interface (BITS), Multiservice access platform (MSAP), Software planning tool, Superconnected cities / voucher scheme. Hands on practical assignments Single and multimode fibre recognition, Fibre Cleaning methods, Checking cleaning with an optical microscope, Optical light source and optical power meter referencing, PON splitter and fibre drum testing with an optical power meter, 6km classroom passive optical network testing with an OTDR at 1310/1550nm, Using decibels (dB's) and decibel milliwats (dBm's), Designing networks up to 20km long using vendor specifications (power budget), Fault finding with a visible fault locator.
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.
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.