Essential SDN training course description Software Defined Networking (SDN) has become one of the industries most talked technologies. This training course cuts through the hype and looks at the technology, architecture and products available for SDN along with looking at the impact it may have on your network. What will you learn Explain how SDN works. Describe the architecture of SDN. Explain the relationship between SDN and OpenFlow. Recognise the impact SDN will have on existing networks. Essential SDN training course details Who will benefit: Anyone wishing to know more about SDN. Prerequisites: None. Duration 2 days Essential SDN training course contents Introduction What is SDN? What is OpenFlow? SDN benefits. The SDN stack and architecture. SDN architecture SDN applications, SDN switches, SDN controllers, Network Operating Systems. Control plane, data plane. Control to Data Plane Interface (CDPI), Northbound interfaces. SDN components, control and data plane abstractions. Network Operating Systems Finding the topology, Global view, control program, configuration based on views, graph algorithm. OpenFlow Just one part of SDN. Open Networking Foundation, OpenFlow ports, Flow tables, OpenFlow Channels. The OpenFlow protocol, OpenFlow header, OpenFlow operations. OpenFlow versus OpFlex. SDN and open source OpenDaylight, OpenVSwitch, Open Networking Forum, Open Network Operating System. OpenStack Neutron. SDN implications Separation of control and data plane, NOS running on servers, Emphasis on edge complexity, core simplicity, OpenvSwitch, Incremental migration, importance of software. SDN vs NVF.
Definitive Puppet training course description Puppet is a framework and toolset for configuration management. This course covers Puppet to enable delegates to manage configurations. Hands on sessions follow all the major sections. What will you learn Deploy Puppet. Manage configurations with Puppet. Build hosts with Puppet. Produce reports with Puppet. Definitive Puppet training course details Who will benefit: Anyone working with Puppet. Prerequisites: Linux fundamentals. Duration 2 days Definitive Puppet training course contents Getting started with Puppet What is Puppet, Selecting the right version of Puppet, Installing Puppet, Configuring Puppet. Developing and deploying Puppet The puppet apply command and modes of operation, Foreground Puppet master, Developing Puppet with Vagrant, Environments, Making changes to the development environment, Testing the new environments with the Puppet agent, Environment branching and merging, Dynamic Puppet environments with Git branches, Summary, Resources. Scaling Puppet Identifying the challenges, Running the Puppet master with Apache and Passenger, Testing the Puppet master in Apache, Load balancing multiple Puppet masters, Scaling further, Load balancing alternatives. Measuring performance, Splay time, Summary, Going further, Resources. Externalizing Puppet configuration External node classification, Storing node configuration in LDAP, Summary, Resources. Exporting and storing configuration Virtual resources, Getting started with exported and stored configurations, Using exported resources, Expiring state resources, Summary, Resources. Puppet consoles The foreman, Puppet enterprise console, Puppetboard, Summary, Resources. Tools and integration Puppet forge and the module tool, Searching and installing a module from the forge, Generating a module, Managing module dependencies, Testing the modules, Developing Puppet modules with Geppetto, Summary, Resources. Reporting with Puppet Getting started, Configuring reporting, Report processors, Custom reporting, Other Puppet reporters, Summary, Resources. Extending Facter and Puppet Writing and distributing custom facts, Developing custom types, providers and functions, Summary, Resources, Complex data structures, Additional backends, Hiera functions in depth, Module data bindings, Hiera examples. Jiera-2, Summary, Resources. Mcollective Installing and configuring Mcollective, testing, Mcollective plugins, accessing hosts with Metadata. Hiera Lists, initial Hiera configuration, Hiera command line utility, complex data structures, additional backends, Hiera functions in depth, module data bindings. Hiera-2.
Definitive Salt training course description Salt is a remote execution framework and configuration management system. This course covers Salt from the basics. After a quick first taste the course moves onto execution modules, salt states, minion and master data, jinja, Salt extensions and then topology and configuration options. Hands on sessions are used to reinforce the theory rather than teach specific manufacturer equipment. What will you learn Install and use Salt. Describe the architecture of Salt. Manage configurations with Salt. Extend Salt. Definitive Salt training course details Who will benefit: Anyone working with Salt. Prerequisites: Linux fundamentals. Duration 2 days Definitive Salt training course contents Introduction What is Salt? High- level architecture, Some quick examples, system management, configuration management, A brief history, Topology options, Extending Salt. Quick start: First taste of Salt Single-master setup, from packages, bootstrap scripts, Starting up, Basic commands, salt: the main workhorse, salt-key: key management, salt-call: execution on the minion, salt-run: co-ordination of jobs on the master, summary of commands, Key management, viewing keys, accepting keys, rejecting keys, key files, Minion targeting, minion ID, list (-L), glob, regular expressions (-E), grains (-G), compound (-C), targeting summary, Additional remote execution details, Conclusion. Execution modules: The functional foundation sys: information and documentation about modules, sys.doc basic documentation, sys.list_modules, sys.list_functions: simple listings, cmd: execute via shell, cmd.run: run any command, pkg: manage packages, virtual modules, pkg.lists_pkgs: list all installed packages, pkg.available version: see what version will be installed, pkg.install: install packages, user: manage users, user.add: add users, user.list_users, user info: get user info, saltutil: access various Salt utilities, Summary. Configuration management: Salt states Salt files overview, SLS example: adding a user, working with the multi-layered state system, Highstate and the top file, the top file, State ordering, require: depend on another state, watch: run based on other changes, odds and ends, Summary. Minion data / master data Grains are minion data, performing basic grain operations, setting grains, targeting with grains in the top file, Pillars are data from the master, querying pillar data, querying other sources with external pillars, Renderers give data options. Extending Salt: part I Introduction to Jinja, Jinja basics, Templating with Jinja, filtering by grains, Custom execution module, Custom state modules, Custom grains, External pillars, Summary. More on the matter Runners, manage minions, manage jobs, The orchestrate runner, The event system, The reactor system, Summary. Extending Salt: part II Python client API, reading configuration data on a master and minion, using the master client (localclient) API, Using the caller client API, Custom runners, writing a custom runner, using the runnerclient API, Summary. Topology and configuration options Master configuration, directories and files, logging, access control, files server options, Topology variations, masterless minions, peer systems, syndication masters, multiple masters. Brief introduction to salt-cloud Overview, Setup AWS and salt-cloud, installing salt-cloud, cloud providers, cloud profiles, cloud maps, Introspection via salt cloud, Creating infrastructure, More information. Using vagrant to run Salt examples YAML.
About this Virtual Instructor Led Training (VILT) A large amount of geological data is acquired at a substantial cost when carrying out a drilling operation. Ensuring optimal quality of this information and effective reporting plays a key role during well design and drilling operations. In addition, there is much to benefit from the later usage of the data in field studies. A critical component that ensures favourable and positive results is the close co-operation between geological, drilling and well engineering departments. Comprising 5 half-day sessions, this Virtual Instructor Led Training (VILT) course aims to provide the required knowledge in order for the collaboration to be most effective and successful. This VILT course will comprise lectures interspersed with practical and interactive exercises and quizzes to promote better understanding. Training Objectives At the end of this VILT course, participants will be able to: Understand the techniques used by wellsite geologists in formation evaluation via: Quick-look analysis to assess reservoir and hydrocarbons Mudlog data (lithology/cutting description, gas readings) Grasp the application of wellsite data in exploration and development Be able to read, assess and use drilling reports Acquire an understanding of drilling problems caused by subsurface conditions Understand the role and contributions of the geologist to the well maturation process Target Audience This VILT course is intended for geologists and other subsurface staff involved in drilling operations who would like to work and communicate more effectively with wellsite staff. Please note that this VILT course is not a preparation course for a wellsite assignment. To be able to work independently on the wellsite, a more hands-on or on-site training would be required. Training Methods This VILT course will be delivered online in 5 half-day sessions comprising 4 hours per day, with 2 breaks of 10 minutes per day. Course Duration: 5 half-day sessions, 4 hours per session (20 hours in total). Trainer Your expert course leader has close to 20 years of experience as a geologist in the Oil & Gas industry. Her main interest and passion is in well planning and operations. She had previously worked as a production geologist and technical authority in NAM (Netherlands), and as a discipline advisor tasked to coach young staff in Bangalore. She has been active in internal training sessions on drilling hazards, mudwindow assessment and project management. She obtained an MSc in hard rock structural geology from the University in Utrecht, a PhD at Brown University (RI, USA) and a post-doctoral at the RWTH Aachen. 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 about post training coaching support and fees applicable for this. Accreditions And Affliations
About this training Carbon Capture and Storage (CCS) is an upcoming new technology that has a vital place within global efforts to decarbonise. It has a unique set of challenges, opportunities and risks to be understood and accommodated within appropriate legal, regulatory, and social and public license frameworks. The course has a strong international and global south emphasis with case studies on CCS projects and will touch on the role of CCS in developing country energy transition. The course satisfies a part of the market that is not currently catered for - the wider science, risks, financing, regulation, planning and social license aspects of CCS. These are issues that are as important as the technical issues in the sense that any of them can be a show-stopper for CCS. Training Objectives Upon completion of this course, participants will be able to: Place CCS within the context of the global geological carbon cycle and the contribution to could make to carbon abatement Explore the basic engineering and other challenges and solutions of CO2 transport and capture Recognize the geological challenges and solutions of CO2 storage Learn the methods of geological and environmental monitoring of CCS sites and why monitoring is important Understand the policy and finance challenges and solutions of CCS projects Know the importance of social license to operate and how to gain a social license to operate Target Audience This course will cater for in-company legal specialists, finance, project managers, marketing and communications specialists; as well as geologists, planners and environmental scientists in regulatory or government roles in regions considering the development of CCS. The course will provide up to date and relevant information to help in understanding opportunities and in managing risk. Geoscientists Government energy regulators and policy makers Financiers and investors Government natural resource and planning department Environmental scientists Finance professionals Marketing and communication professionals Legal specialists Project managers Course Level Basic or Foundation Trainer Your expert course leader is one of the most influential figures in British geoscience. He has 25 years' experience in geological, energy, and palaeontological science and research, including 8 years national level science leadership as the UK's chief geologist (Executive Chief Scientist and Director of Science and Technology of the British Geological Survey). He has been providing geoscience advice to Government for almost 15 years and has an excellent overview of Government policy, industrial activity and funding landscape in applied and energy geoscience, including CCUS and shale gas. He is a well-known communicator of science and has published three single-author popular science books (one award-winning), including the best introductory book on CCS 'Returning Carbon to Nature' Elsevier 2013. 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
Server Load Balancing course description This two-day Server Load Balancing course introduces the concepts of SLB from the reasons to implement, through the basics and then onto details studies of load distribution, health checks, layer 7 switching and Global SLB. What will you learn Explain packet paths when implementing SLB. Recognise the impact of different topologies. Evaluate SLB load distribution methods. Describe how load balancers can improve security. Explain how GSLB works. Server Load Balancing course details Who will benefit: Anyone working with SLB. Prerequisites: None. Duration 2 days Server Load Balancing course contents Introduction Concept, reasons, benefits, alternatives. Other features: Security, Caching. SLB concepts Architectures, Virtual servers, real servers, Virtual IP address, health checks. DNS load balancing. Packet walk using SLB. Load balancing 6 modes of bonding and load balancing without SLB. ISP load balancing. Health. Distribution policies: Round Robin, least connections, weighted distributions, response time, other variations. Persistent versus concurrent. Layer 4 switching L2 SLB, L3 SLB, single arm SLB, DSR, more packet walking, TCP versus UDP, Port numbers. Layer 7 switching Persistence. Cookie switching, Cookie hashing, Cookie insertion, URL switching, URL Hashing, SSL. Health checks Layer 3: ARP, ping. Layer 4: SYN, UDP. Layer 7: HTTP GET, Status codes, HTTP keepalives, content verification, SSL. Other application keepalives. What to do after failure and recovery. Security DOS attack protection, SYN attack protection, Rate limiting: connections, transactions. SSL offload. Redundancy Hot standby, Active standby, Active active. Stateful, stateless. VRRP, STP. GSLB Anycasting. DNS, TTL, DNS load balancing, problems with DNS load balancing,. HTTP redirect, health, thresholds, round trip times, location.
About this Virtual Instructor Led Training (VILT) A decision to drill an exploration well with the objective to find a new oil or gas field must be based on sound assessment of the prospect risk and of the volumes. What is the chance that a well will find hydrocarbons, and how much could it be? Risk and volume assessments form the basis for decisions to drill a well or not, and as such form the link between subsurface evaluation and the business aspects of the petroleum industry. This Virtual Instructor Led Training (VILT) course explains how risks and volumes can be assessed in a realistic manner, based on a sound understanding of the geological details of the prospect as well as its regional geological setting and current play understanding. Participants of this VILT course will receive a softcopy of Risk and Volume Assessment Handbook which explains the concepts that are associated with probabilistic Risk & Volume (R & V) Assessment and contains many practical recommendations on how to translate geological understanding into meaningful inputs for probabilistic R &V assessments. The book is fully compatible with any probabilistic R & V tool in the industry. Training Objectives By the end of this VILT course, participants will be able to understand: The fundamentals of risk and volumes assessment; translating geological understanding into reasonable numbers and ranges. The difference between risk and uncertainty. Fundamentals of statistics; including explanation of distribution curves, understanding of expectation curves, do's and don'ts for adding risked volumes, and Bayes theorem. Uncertainty of trap, reservoir, seal and charge, illustrated by examples. Guidelines and exercises for estimating risks realistically and consistently. Calculating volume ranges for prospects and for portfolios of prospects; how to add prospect volumes for a correct representation of prospect portfolios. Incorporation of geophysical evidence (DHIs) in a realistic risk assessment. Target Audience This VILT course has been designed in the first place for geoscientists working in exploration, for prospect portfolio analysts and for their direct supervisors. It will also benefit staff from disciplines working closely with exploration staff, such as reservoir engineers, petrophysicists and geophysicists. Course Level Intermediate Training Methods Learning, methods and tools The VILT course will be delivered online in 5 half-day sessions comprising 4 hours per day, with 2 breaks of 10 minutes per day. It is the intention to have at least 2 smaller exercises per day. Time will be reserved for recapitulation, questions and discussions. VILT will be conducted either via Zoom or Microsoft Teams. Presenting materials can easily be done on this platform. When participants need to ask a question, they can raise their hand, write notes or interrupt the Instructor by using their microphone. The presenter can switch to a screen where he/she can see all participants (also when each participant is sitting in another location e.g. at home). There is also a whiteboard functionality that can be used as one would use a flip chart. Exercises will be done on an online platform which provides each participant with a private work area that can be accessed by the Instructor to discuss the exercise in a similar manner as in a classroom course. Each topic is introduced by a lecture, and learning is re-enforced by practical exercises and discussions. Handout material in electronic format will be provided. Trainer Dr. Jan de Jager has a PhD in Geology from the University of Utrecht. He joined Shell in 1979 as an exploration geologist, and worked in several locations around the world such as Netherlands, Gabon, USA, Australia, Argentina, and Malaysia in technical and management positions. During the last 10 years of his career, he was responsible for the quality assurance of Shell's exploration prospects in many parts of the world and for upgrading and replenishing Shell's global exploration portfolio. During this period, he had also developed extensive expertise in Prospect Risk and Volume assessments for which he ran successful internal training programmes. Following his retirement from Shell in 2010, Dr Jan de Jager took on a position as part-time professor at the University of Amsterdam and also serves as a consultant exploration advisor for various E&P companies. 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 about post training coaching support and fees applicable for this. Accreditions And Affliations
Supporting Windows 10 course description This course is designed to provide students with the knowledge and skills required to support and troubleshoot Windows 10 PCs and devices in a Windows Server domain environment. These skills include understanding of Windows 10 features, how they can be used in an Active Directory environment and how to troubleshoot them. What will you learn Troubleshoot startup issues and operating system services on a Windows 10 PC. Troubleshoot issues related to network connectivity. Troubleshoot client configuration failures and GPO application issues. Troubleshoot issues related to application installation and operation. Recover a PC running Windows 10. Supporting Windows 10 course details Who will benefit: Anyone supporting users running Windows 10 personal computers within a medium to large enterprise. Prerequisites: None. Duration 5 days Supporting Windows 10 course contents Implementing a Troubleshooting Methodology Overview of Windows 10, Introduction to the EDST Job Role, Overview of the Troubleshooting Steps & Tools. Hands on Implementing a Troubleshooting Methodology. Hands on Using Troubleshooting Tools for Windows 10. Troubleshooting Startup Issues Overview of the Windows 10 Startup Recovery Environment, Troubleshooting Startup Settings & Operating System Services Issues, Recovering BitLocker-Protected Drives. Hands on Troubleshooting Startup Issues. Hands on Recovering BitLocker-Encrypted Drives, Creating a New BitLocker Password. Troubleshooting Hardware and Device Drivers Troubleshooting Device Driver Failures & Physical Failures, Overview of Hardware Troubleshooting, Monitoring Reliability, Configuring the Registry. Hands on Troubleshooting Device Driver Issues, Resolving Hardware Issues, Adding a Missing Device Driver to a Driver Store, Reverting a Problematic Device Driver. Hands on Troubleshooting Hardware Issues, Diagnosing Memory, Troubleshooting and Repairing Failed Disk Redundancy Synchronizing Settings, Accessing Data on a Foreign Volume. Troubleshooting Remote Computers Using Remote Desktop and Remote Assistance, Remoting with Windows PowerShell Hands on Troubleshooting Remote Computer by using Remote Desktop and Remote Assistance. Hands on Troubleshooting Remote Computer by using Windows PowerShell. Resolving Network Connectivity Issues Determining Network Settings, Troubleshooting Network Connectivity Issues, Troubleshooting Name Resolution. Hands on Resolving Network Connectivity Issues. Hands onResolving Name Resolution Issues. Troubleshooting Group Policy Overview of Group Policy Application, Resolving Client Configuration Failures and GPO Application Issues. Hands on Troubleshooting Group Policy Application Issues. Hands on Resolving Group Policy Issues. Hands on Installing and Sharing a Printer. Troubleshooting User Settings Troubleshooting Sign In Issues, Troubleshooting the Application of User Settings. Hands on Troubleshooting Sign in Problems. Hands on Troubleshooting the Application of User Settings, Resolving Folder Redirection Problem, Resolving Roaming User Profile Problem. Troubleshooting Remote Connectivity Troubleshooting VPN Connectivity Issues & DirectAccess. Hands on Troubleshooting VPN Connectivity Lab : Configuring and Troubleshooting DirectAccess Configuring and Verifying, DirectAccess Client-Side Settings, Troubleshooting DirectAccess. Troubleshooting Resource Access Within a Domain & File Permissions Issues, Recovering Files Encrypted by EFS, Troubleshooting Printer Access Issues. Lab : Troubleshooting File Access Issues Lab : Troubleshooting Access to Encrypted Files. Hands on Troubleshooting Printer Access Issues Troubleshooting Resource Access for Non Domain Member Clients Configuring and Troubleshooting Device Registration, Configuring and Troubleshooting Work Folders, Configuring and Troubleshooting OneDrive Access. Hands on Troubleshooting Resource Access for Clients that are not Domain Members. Troubleshooting Device Registration, Work Folders and OneDrive for Business. Troubleshooting Applications Troubleshooting Desktop App Installation Issues, Desktop Apps, Managing Windows Store Apps, Troubleshooting Access to Company Web Applications. Hands on Troubleshooting Desktop Apps, AppLocker Policy Application & Application Compatibility issue. Hands on Troubleshooting Access to Company Web Applications, Internet Explorer Issue & Microsoft Edge. Maintaining Windows 10 Managing & Troubleshooting Windows Activation, Troubleshooting Performance, Applying Applications. Hands on Monitoring and Troubleshooting Performance. Recovering Data and Operating System File Recovery in Windows 10, Recovering an OS. Hands on Recovering Data, Recovering Data from Azure Backup, Recovering Deleted File by Using File History. Hands on Provisioning Computer to Comply with Company Standards, Provision Computer to Comply with Company Standards.
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.