Complete C programming training course description A hands-on introduction to programming in the ANSI C programming language. The course initially moves at a fast pace in order to spend as much time as possible on the subject of pointers - the area which cause the most bugs in C programs. What will you learn Write ANSI C programs Use the C libraries Debug C programs Examine existing code and determine its function. Complete C programming training course details Who will benefit: Programmers wishing to learn C. Programmers wishing to learn C++ or Java. Prerequisites: None, although experience in another high level language would be useful. Duration 5 days Complete C programming training course contents Getting started The compilation process, comments, main(), statement blocks, printf(). C data types and operators char, int, float and double, qualifiers, arithmetic and assignment operators, precedence, Associativity. Basic I/O C libraries, stdin and stdout, getchar(), putchar(), printf() formatting. Flow control if else, dangling elses, else if, while and for loops. switch statements, the null statement, break, continue and gotos. Functions Function calls, arguments and return types, function declarations (prototypes), function definitions, scope of variables. The preprocessor Preprocessor actions, macros, #include. Libraries and their relationship with header files. Conditional compilation. More data types and operators Logical, bitwise and other operators, type conversion, casting, typedefs and access modifiers. Arrays Declaring and handling arrays, common gotchas, multidimensional arrays. Pointers What are pointers? Why they are so important, declaring and using pointers,The three uses of the *,pointer example - scanf, pointers as arguments. More pointers Golden rules of pointers and arrays, pointers to arrays, pointer arithmetic, arrays of pointers, multiple indirection. Character/string manipulation Arrays of characters, string definition, working with strings, String library. Program arguments argc and argv, example uses,char *argv[] versus char ** argv. Program structure and storage classes Globals (externals), multi source programs, the look of a C program. Structures Declaration, the . and - operators, unions and bitfields. Library functions File handling, fopen and fclose, reading from and writing to files, fseek().calloc() and malloc()
Certified ScrumMaster®: In-House Training This course is an introduction to Scrum and the principles and tools required to be an effective Scrum Product Owner. You will come away with a good understanding of the Scrum framework and the underlying principles required to make effective decisions regarding the application of the Scrum framework to different situations. Participants successfully completing this course earn a Certified Scrum Product Owner® (CSPO®) designation. The Scrum Alliance certification includes a one-year membership with Scrum Alliance. What You Will Learn You'll learn how to: Use the principles, practices, and tools required to be an effective Scrum Product Owner Make effective decisions regarding the application of the Scrum framework to different situations, including: Setting product vision and goals Chartering the project Writing user stories and structuring your product backlog Scaling the Product Owner Estimating for forward planning Applying prioritization techniques Planning and tracking release progress Getting Started Introduction Course structure Course goals and objectives Agile Principles and Scrum Overview Process control models Incremental and iterative development Shifting the focus on product management Overview of the Scrum process Agile principles Lean principles Scrum Roles and Responsibilities Scrum roles Cross-functional teams Product Owner Responsibilities The Scrum Project Community What happens to my traditional role in Scrum? Chartering the Project Establishing a shared vision Elevator Statement Data sheets Product Vision Box Magazine Review / Press Release Product Backlog and User Stories Product uncertainty and progressive refinement User role modeling User Stories Product backlog characteristics Getting backlog items ready Slicing User Stories Using the product backlog to manage expectations Sprints Done and Scaling Done The Scrum process in detail Sustainable pace The Product Owner's role in each of the Scrum meetings Scaling the Product Owner Scaling Scrum Approaches to scaling the Product Owner Estimation for Forward Planning Why comparative estimation works Planning Poker Affinity Estimation Prioritization Techniques Additional Product Backlog Prioritization Techniques Kano Analysis Theme Screening Release Planning and Tracking Progress Velocity Release Planning Tracking release progress
Complete VBA programming training course description This course helps you extend the capabilities of the entire Office suite using Visual Basic for Applications (VBA). Even if you have no programming experience, you'll be automating routine computing processes quickly using the simple, yet powerful VBA programming language. We start at the beginning to get you acquainted with VBA so you can start recording macros right away. You'll then build upon that foundation to utilize the full capabilities of the language in Word, Excel, Outlook, and PowerPoint. What will you learn Record, write and run macros. Work with VBA Editor. Use the huge library of built-in functions. Create simple dialog boxes and complex forms. Customize Word, Excel, PowerPoint, Outlook, and Access. Program the Office 2016 ribbon. Complete VBA programming training course details Who will benefit: Anyone looking to extend the capabilities of the entire Office suite using VBA. Prerequisites: None. Duration 5 days Complete VBA programming training course contents Macros and getting started in VBA VBA syntax, variables, constants, and enumerations, array variables, finding objects, methods, and properties. Working with VBA 1 VBA syntax, variables, constants, and enumerations, array variables, finding objects, methods, and properties. Decisions, loops and functions Built-in functions, creating your own functions, making decisions in your code, using loops to repeat actions. Using message boxes, input boxes, and dialog boxes Getting user input with message boxes and input boxes, creating simple custom dialog boxes, creating complex forms. Creating effective code Building modular code and using classes, debugging your code and handling errors, building well-behaved code, exploring VBA's security features. Programming the Office applications The Word object model and key objects, working with widely used objects in Word, the Excel object model and key objects, working with widely used objects in Excel, the PowerPoint object, model and key objects, working with shapes and running slide shows, the Outlook object model and key objects, working with events in Outlook, the Access object model and key objects, manipulating the data in an Access database via VBA, accessing one application from another application, programming the Office 2016 ribbon.
About this Training Course Petrophysics remains a vital component to many facets of the petroleum industry, from quantification of hydrocarbon reserves to developmental strategies to real-time decision making for reservoir navigation. Targeted at awareness to knowledge level, this course addresses the tenets of petrophysics and formation evaluation, using integrative perspective of multiple datasets, including geological, geophysical, and logging and core data. Significant worldwide case histories are included, as well as several exercises designed to provide hands-on experience. This course can also be offered through Virtual Instructor Led Training (VILT) format. Training Objectives By attending this course, the participants will be able to: Understand better the latest geological, geophysical, and logging/core technologies and their role in petrophysical analysis, formation evaluation, and reservoir characterization. Address the pros and cons of key datasets, with emphasis on need for integrative studies and calibration of datasets. Apply quick-look qualitative techniques as well as quantitative aspects to understand vital aspects such as volume of shale/clay, porosity, permeability, and water saturation determinations. Select tool combinations to resolve key issues and for specific applications. Assess uncertainty in petrophysical measurements and techniques and its influence on reserve estimation. Target Audience This course is recommended for development and exploration geologists, petrophysicists, log and core analysts, geophysicists, petroleum engineers, managers, and technical personnel. Course Level Intermediate Trainer Your expert course leader received his B.S. and M.S. degrees in Geology from the now University of Louisiana-Lafayette in 1989 and 1990 respectively, and his Ph.D. as a National Science Foundation fellow at Baylor University, Waco, Texas, in 1993. From 1994 - 1996, he studied planetary tectonics as a NASA-funded postdoctoral fellow at Southern Methodist University. In 1996, he returned to UL-Lafayette, where he was awarded in 1997 the Hensarling-Chapman Endowed Professorship in Geology. He began independent consulting activities in 1991, and in 2001, he left academia for full-time consulting for clients ranging from one-man shops to supermajors. He rejoined UL-Lafayette as an adjunct professor from 2011 - 2018. He is an active researcher, receiving several million dollars in grants from federal, state, and industry sources, presenting numerous talks, including a 2019 AAPG Levorsen award, and publishing on a diversity of geoscience topics, including a Grover E. Murray Best Published Paper award in 2017. He is co-author of the inaugural GCAGS/GCSSEPM Transactions Best Student Paper award in 2018. He served as the GCAGS Publisher since 2006 and in various GCAGS/GCSSEPM Transactions editing capacities since 2006, including the 2014 and 2017 - 2022 Editor (named Permanent Transactions Editor in 2017), and Managing Editor since 2011, receiving a GCAGS Distinguished Service Award in 2018. He served as the General Chair for GeoGulf 2020 (70th GCAGS/GCSSEPM Convention), the 1st hybrid geoscience conference in the world. He is a Past President of the Lafayette Geological Society and served as its Editor and Publisher from 2002 - 2018. In 2018, he founded the Willis School of Applied Geoscience, reformulating decades of industry-training experience to provide alternative opportunities for graduate-level education. In 2020, he received an Honorary Membership from GCSSEPM. He also joined the LSU faculty as an adjunct professor in 2020. In 2021, he co-founded the Society of Applied Geoscientists and Engineers, serving as its President, General Chair for the SAGE 2022 Convention & Exposition, and Vice-Chair for the Benghazi International Geoscience & Engineering Conference 2022 (BIGEC 2022). 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
Project Risk Management: In-House Training Have you been surprised by unplanned events during your projects? Are you and your project team frequently fighting fires? Well, you are not alone. Uncertainty exists in any project environment. While it's impossible to predict project outcomes with 100% certainty, you can influence the outcome, avoid potential risks, and be ready to respond to challenges that arise. In this course, you'll gain the proper knowledge needed to identify, assess, plan for, and monitor risk in your projects. You'll learn how to set up and implement risk management processes, helping you to minimize uncertainty and achieve more consistent, predictable outcomes as a result. What You Will Learn You'll learn how to: Demonstrate to others how the risk management processes in A Guide to the Project Management Body of Knowledge (PMBOK® Guide) apply to your project's environment, especially for high-risk projects Adapt these processes for a particular high-risk project team's operating principles Explain the importance of using risk management best practices at single and enterprise project levels Lead an initiative to implement risk management best practices in your project environment Foundation Concepts Risk-related definitions The risk management process High-risk projects and project failures Classical failures in implementing risk management Plan Risk Management Project risk management and governance Risk management planning for high-risk projects High-risk variations on a risk management plan Identify Risk Adapting the risk identification process for high-risk projects Recognizing risks spontaneously Confirming and structuring risk events for treatment Wrapping up risk identification for high-risk projects Perform Qualitative Risk Analysis Adapting qualitative risk analysis for high-risk projects Accelerating risk analysis Clearing risk action Wrapping up qualitative risk analysis for the next level Perform Quantitative Risk Analysis Adapting quantitative risk analysis for high-risk projects Ensuring effective risk analyses with data quality assessments Building a foundation for quantitative risk analysis Using discrete quantitative tools Using continuous quantitative tools Wrapping up quantitative risk analysis for high-risk projects Plan Risk Responses Adapting risk response planning for high-risk projects Optimizing active risk response strategies Leveraging contingencies for high project performance Wrapping up risk response planning for high-risk projects Implement Risk Responses Implementing Risk Responses Process Executing Risk Response Plans Tools and Techniques Best Practices Continuous Risk Management Monitor Risks Adapting risk monitoring for high-risk projects Optimizing risk plan maintenance Weaving risk reassessment into the project's progress Maintaining a continuous 'vigil' in high-risk project environments
WAN training course description A hands on Introduction to Wide Area Networks for engineers. This course covers all current major WAN technologies from a perspective of design, evaluating technologies available as well as hands on to consolidate the theory What will you learn Describe the seven-layer model and realise how it applies to the real world. Evaluate and describe WAN technologies. Describe the architecture of WANs in the core. Use WANS to interconnect LANS. WAN training course details Who will benefit: Technical staff wishing to find out more about how their WAN works. Prerequisites: Intro to data communications & networking Duration 5 days WAN training course contents Introduction LANs, MANS and WANS, protocols, the OSI seven layer model, ITU-T, ETSI, DTE, DCE, and the overall picture. WAN architectures Service providers, core, access, DTE, DCE, CPE, dialup, circuit switched, packet switched, how to choose a WAN, common bandwidths, site to site, remote access. Topologies: Star, Full mesh, partial mesh. History of WANs Before IP was ubiquitous, The PSTN, Dial up networks, modems, ISDN, Stat mux, TDM, 64k, N*64, E1, X25, Frame Relay The role of IP and routers The growth of IP, the role of routers, routing tables, routing protocols. Hands on: IP and routing. Layer 1 Physical Copper, Fibre, Wireless, Microwave, Phone lines, FTTC, FTTH, mobile networks. Service provider technologies The transport plane, SDH, SONET, DWDM. WAN access Phone lines, leased lines, xDSL, WiMax, satellite, the role of PPP. Broadband adband xDSL, ADSL, SDSL, local loops, DSLAM, DSL architecture. ATM Cell switching principles, ATM switching, Virtual paths, QOS, CBR, VBR, ABR, UBR, AAL1 to AAL5, MPOA, LANE, Voice over ATM. The Internet VPNs, IPSEC, QOS. What is MPLS? Core MPLS, MPLS and the 7 layer model, MPLS protocol, MPLS standard, MPLS runs on routers, MPLS history, Why MPLS? MPLS architecture LSRs, PE and P router roles, FEC, swapping labels, MPLS packet format, Loops, TTL control. Ethernet What is Ethernet? LANs, MANs, WANs, Ethernet and switches in the LAN. Traditional LAN/WAN integration, routers. The Ethernet interface for the WAN. Standards: Transporting carrier Ethernet.
Advanced C++ training course description The course will give a broad overview of the C++ Programming language, focusing on modern C++, up to C++17. This course will cover the use of the Standard Library, including containers, iterator, function objects and algorithms. From the perspective of application development, a number of design patterns will be considered. What will you learn Write C++ programs using the more esoteric language features. Utilise OO techniques to design C++ programs. Use the standard C++ library. Exploit advanced C++ techniques Advanced C++ training course details Who will benefit: Programmers needing to write C++ code. Programmers needing to maintain C++ code. Prerequisites: C++ programming foundation. Duration 5 days Advanced C++ training course contents Study of a string class Create a string class as a means to investigate many issues, involving the use of operator overloading and including overloading new and delete. Creation of the class will also require consideration of 'const correctness'. Exception handling Consider the issues involved in exception handling including the concept of exception safety. Templates Review definition of template functions, including template parameter type deduction. Introduction to template metaprogramming. Newer features including template template parameters and variadic templates. Creation of template classes. Design patterns Introduction to Design Patterns and consideration of a number of patterns, such as, factory method, builder, singleton and adapter. The standard C++ library (STL) Standard Library features, such as, Containers, Iterator, Function Objects and Algorithms. Introduction to Lambda expressions. C++ and performance The writing of code throughout the course will be oriented towards performant code, including use of R Value references and 'move' semantics. Pointers The use of pointers will be considered throughout the course. Smart pointers will be considered to improve program safety and help avoid the use of 'raw' pointers. Threading This section will consider the creation of threads and synchronisation issues. A number of synchronisation primitives will be considered. Async and the use of Atomic will also be considered. New ANSI C++ features Summarising some of the newer features to be considered are: Auto, Lambdas expression, smart pointers, variadic templates and folds, R Value references and tuple together with structured binding.
Ansible for engineers training course description An introduction to automation using ansible. Ansible is a general purpose IT automation platform that can be use for a number of purposes. The course covers configuration management, cloud provisioning and application deployment with ansible. Hands on sessions follow all major sections. What will you learn Install ansible. Automate tasks with ansible. Write ansible playbooks. Ansible for engineers training course details Who will benefit: Administrators and developers automating tasks. Prerequisites: Linux administration skills Duration 3 days Ansible for engineers training course contents What is ansible? The language, the engine, the framework. Uses of ansible, orchestration. Hands on Installing ansible. Ansible architecture ible architecture Controlling machines, nodes, Agentless, SSH, modules, JSON protocol. Configuration management, inventories, playbooks, modules, roles. Hands on Getting started, running ad hoc commands. Ansible and Vagrant Prototyping and testing. Hands on Using ansible with Vagrant. Ad hoc commands Parallelism, shell commands, managing files and directories, file transfer, package management, manage user and groups, deploying applications, service management, background jobs, checking log files, managing cron jobs. Hands on Using ansible with Vagrant. Playbooks ansible-playbook, users, sudo, YAML, plays, tasks, handlers, modules. Hands on Running playbooks. More playbooks Handlers, variables, environmental variables, playbook variables, inventory variables, variable scope and precedence, accessing variables, facts, ansible vault. Conditionals, wait_for. Hands on Using variables and conditions in playbooks. Roles and includes Dynamic includes, Handler includes, playbook includes. Roles, role parts: handlers, files, templates, cross platform roles, ansible galaxy. Hands on includes example, building roles. Inventories /etc/ansible/hosts, inventory variables, static inventories, dynamic inventories. Hands on Inventories and variables. Miscellanea Individual server cookbooks, Main playbook for configuring all servers. Hands onPlaybooks.
About this Training Course The prospect maturation process, from a lead to a drillable prospect, is at the heart of the exploration business. This 5 full day course will cover all aspects of the prospect maturation process: play understanding in the context of regional geological understanding, detailed prospect evaluation; realistic risk & volume assessment consistent with the play understanding and prospect details, and an introduction to exploration economics. Throughout the course, there is a strong focus on pragmatic (geo)logical approach for assessing those aspects that are input parameters for a meaningful assessment of prospect risks and volumes, with emphasis on a balanced integration of contributions from different sub-surface disciplines. Many examples from basins from around the world are used to illustrate how traps, reservoirs, seals and charge occur in different basin settings. Specifics topics that will be discussed include the following: The statistical fundamentals for risk and volume assessment will be presented, with practical exercises for understanding the results of a risk & volume assessment as they are displayed in expectation curves. The difference between risk and uncertainty. A full discussion of the essential requirements for a working petroleum system: Trap, reservoir, seal and charge. Examples of how traps, reservoirs, seals and charge work in different basin types around the globe and in Australian basins. Exercises and guidelines for estimating uncertainties for prospect parameters, including advice for deciding which distribution type to use, and how to constrain those distributions for meaningful uncertainty ranges (setting minimum most likely and maximum values). Particular emphasis will be given to estimating hydrocarbon column lengths with their associated uncertainties in undrilled prospects. Prospects and plays: The value of play maps and how these should be used for assessment of prospect risks and for ranking of prospects within a play. Calculating volume ranges for prospects. Calculating volumes for groups of prospects; how to add risked prospect volumes for a statistically correct representation of the volume promise of a portfolio of prospects. Geophysical evidence: Incorporating geophysical evidence (DHIs) consistently and realistically in a risk assessment. An understandable and geology-based workflow, consistent with Bayes theorem, will be presented. Exploration economics. Training Objectives What this course will cover in 5 days: This course describes the various aspects that need to be considered in the prospect maturation process, including: Play development in the context of a sound understanding of the regional geology Detailed prospect evaluation and understanding of the critical aspects of traps, reservoirs, seals and charge Examples from plays and prospects in different basin settings from around the globe Realistic and pragmatic risk and volume assessment, based on the geological understanding of plays and prospects An introduction to exploration economics Examples of plays, oil and gas fields and prospects from basins from around the world, including the Far East, will be given. Target Audience This course is designed primarily for Geoscientists in exploration who would like to improve their expertise of the prospect maturation process and risk and volume assessment. The course has proven to be of value for explorers in the early phase of their career, seasoned explorers and team leaders. It will also benefit staff from disciplines working closely with exploration staff including Prospect Portfolio Analysts, Petrophysicists, Geophysicists and Reservoir Engineers. Course Level Intermediate Training Methods At the end of the course, the participants will have a good understanding of the essentials for realistic risk and volume assessments of exploration prospects. The course should allow participants to produce well-considered and realistic assessments for prospects they may be working on, and to understand and constructively challenge risk and volume assessments of colleagues and/ or partners/ competitors. Each topic is introduced by a lecture, and learning is re-inforced by practical exercises and discussions. Hand-out materials in paper and/or electronic format will be provided. Time will be made available to discuss aspects of prospects that may be brought in by course participants. Trainer Your expert course leader has a PhD in Geology from the University of Utrecht. He worked for 31 years (1979 -2010) with Shell as an exploration geologist in a variety of functions across the globe. As Principle Technical Expert, he was responsible for ensuring that Risk & Volume assessments were carried out consistently and correctly in all of Shell's exploration units. In this capacity, he led and participated in countless prospect review sessions and developed and conducted a successful in-house course on Risks & Volume assessment. As manager of the Exploration Excellence Team, he performed in depth analysis of basins and plays and provided advice on exploration opportunities to senior management. Together with his team, he visited most of Shell's exploration offices, working hands-on with Shell's local exploration teams to generate new play and prospect ideas and to suggest evaluation techniques and technologies to apply. In 2010, he was appointed as extraordinary professor Regional and Petroleum Geology at the VU university of Amsterdam and in 2012 also at the University of Utrecht. He was visiting professor at the University of Malaya (Malaysia). Through his own consultancy, as of 2010, he provides advice on exploration activities to several companies and is regularly invited to carry out technical reviews. Activities cover all continents and include Portfolio Reviews, Prospect assessment, Play-based Exploration, and Geothermal activities. He conducts courses on several topics including Risk & Volume Assessment, Prospect Maturation, Basin Analysis, Play-based Exploration, Trap & Seal Analysis, Petroleum Geology for Non-geologists. Some of his recent publications include: De Jager, J. & van Winden, M. (2020): Play-Based Exploration of the petroleum potential of the Tremp-Graus, AÃnsa and eastern Jaca Sub-basins in the southern Pyrenees. Invited contribution for Digital Geology, EAGE special publication (eds: Grötsch, J. & Pöppelreiter, M.) De Jager, J. (2020). Concepts of Conventional Petroleum Systems. Invited contribution for Regional Geology and Tectonics Volume 1: Global Concepts, Techniques and Methodology (eds: Adam, J., Chiarelly, D. & Scarselli, N.) De Jager, J. (2021): Handbook Risk & Volume Assessment. Self-published De Jager, J., Van Ojik, K & Smit, R. (2023 - in preparation): Geological Development of The Netherlands. In: Geology of The Netherlands (eds: Ten Veen, J., Vis, G-J., De Jager, J. @ Wong, T.) 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
Complete VB.Net training course description A hands on introduction to programming in Visual BASIC .Net. What will you learn Build Visual BASIC applications. Build simple components Debug Visual BASIC programs. Examine existing code and determine its function. Complete VB.Net training course details Who will benefit: Anyone wishing to program in Visual BASIC. Anyone wishing to build Windows based applications. Prerequisites: None although experience in another high level language would be useful. Duration 5 days Complete VB.Net training course contents Writing your first program Visual Studio, forms designer, running VB programs, the UI, properties, writing the code. Toolbox Controls Basic use, input controls, ActiveX controls. Menus and Dialog Boxes Menus, Dialog Box controls, event procedures. Visual Basic .NET variables and operators Variables, I/O, data types, constants, operators, Math Methods, precedence. Decision Structures and Loops and Timers Event-Driven programming, Ifâ¦Then, Select Case, Forâ¦Next Loops, Timer Control. Debugging Visual Basic .NET Programs Break Mode, watch & command windows. Structured Error Handling Try...Catch, Finally, Err Object, retry periods. Modules and Procedures Standard modules, public variables, procedures. Arrays and Collections to Manage Data Fixed-Size & dynamic Arrays, ReDim Preserve, object collections, Controls Collection. Text Files and String Processing Text Box object, Text String methods, sorting. Automating Office Applications Application objects, automation in VB, the Object Browser, the Process Component. Deploying Visual Basic .NET Applications Planning a deployment, ways to deploy an application, deployment projects, options. Managing Windows Forms Forms, positioning, manipulation, adding controls, organizing controls, Startup Object. Adding Graphics and Animation Effects System.Drawing namespace, coordinates, SystemPaint Event, animation, transparency. Inheriting Forms and Creating Base Classes Inheriting forms, inheritance picker, base classes and inheritance, classes in projects. Working with Printers PrintDocument class, Text Box object, Print Preview and Page Setup Dialog Boxes. Database programming with ADO.NET Databases, ADO.NET, Data Adapters, Datasets, Bound & Navigation Controls. Displaying database records, formatting DataGrid cells, updating the database. Displaying HTML Documents Using IE IE Object, Internet Controls, IE Events. Web Forms for Interactive Web Applications ASP.NET, Web Forms vs. Windows Forms, HTML controls, web applications, event procedures for web forms controls.