Duration 5 Days 30 CPD hours This course is intended for This is a basic-level programming course designed for attendees with prior development experience in another language, such as COBOL, 4GL, Mainframe or other non-object oriented languages. This course is not geared for non-developers. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in core OO coding and Java development skills, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working within in a hands-on learning environment, guided by our expert team, attendees will learn to: Understand what OO programming is and what the advantages of OO are in today's world Work with objects, classes, and OO implementations Understand the basic concepts of OO such as encapsulation, inheritance, polymorphism, and abstraction Understand not only the fundamentals of the Java language, but also its importance, uses, strengths and weaknesses Understand the basics of the Java language and how it relates to OO programming and the Object Model Work with the Modular system (Project Jigsaw) Understand and use classes, inheritance and polymorphism Understand and use collections, generics, autoboxing, and enumerations Process large amount of data using Lambda expressions and the Stream API Abstract, static and private methods in interfaces Take advantage of the Java tooling that is available with the programming environment being used in the class Java 11 features covered: Using the Local Variable Type in Lambda expressions; Updates made to the String API This course provides hands-on Java 11 training for developers who have little or no prior working knowledge of object-oriented programming languages such as C, COBOL, and 4GL. You will learn the best practices for writing great object-oriented programs in Java 11, using sound development techniques, new improved features for better performance, and new capabilities for addressing rapid application development. Special emphasis is placed on object oriented concepts and best practices. A First Look The Java Platform Using the JDK The Eclipse Paradigm Getting Started with Java Writing a Simple Class Adding Methods to the Class OO Concepts Object-Oriented Programming Inheritance, Abstraction, and Polymorphism Essential Java Programming Language Statements Using Strings Specializing in a Subclass Fields and Variables Using Arrays Local-Variable Type Inference Java Packages and Visibility Object Oriented Development Inheritance and Polymorphism Interfaces and Abstract Classes Introduction to Exception Handling Exceptions Java Developer's Toolboxÿ Utility Classes Java Date/Time Advanced Java Programming Introduction to Generics Lambda Expressions and Functional Interface Working with Collections Collections Using Collections Stream APIÿ Streams Collectors The Java Module System Introduction to the Module System Time Permitting Formatting Strings Introduction to Annotations Java 12 and beyond Additional course details: Nexus Humans Basic Java 11 and OO Programming for Developers New to OO (TT2120-J11) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Basic Java 11 and OO Programming for Developers New to OO (TT2120-J11) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 3 Days 18 CPD hours This course is intended for Incoming attendees are required to have current, hands-on experience in developing basic web applications. Student should have some experience with HTML and CSS and be well versed in JavaScript. Experience with coding for the server side would be helpful. Overview This skills-focused course is approximately 50% hands-on. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Learn server-side JavaScript coding through Node.js Explore the latest JavaScript features, and ECMAScript modules Walk through different stages of developing robust applications using Node.js Install and use Node.js for development Use the Express application framework Work with REST service development using the Restify framework Use data storage engines such as MySQL, SQLITE3, and MongoDB Node.js is a server-side JavaScript platform using an event-driven, non-blocking I/O model allowing users to build fast and scalable data-intensive applications running in real time.This fast-paced hands-on course provides the core skills required to develop web applications with Node.js. You will progress from a rudimentary knowledge of JavaScript and server-side development to being able to create, maintain and test your own Node.js applications. You will explore the importance of transitioning to functions that return Promise objects, and the difference between fs, fs/promises and fs-extra, as well as how to use the HTTP Server and Client objects, and data storage with both SQL and MongoDB databases. Overview of Node.js The capabilities of Node.js Why should you use Node.js? The Node.js event-driven architecture Embracing advances in the JavaScript language Developing microservices or maxiservices with Node.js Setting Up Node.js System requirements Installing Node.js using package managers Installing from the source on POSIX-like systems Installing multiple Node.js instances with nvm Requirements for installing native code modules Choosing Node.js versions to use and the version policy Choosing editors and debuggers for Node.js Running and testing commands Advancing Node.js with ECMAScript 2015, 2016, 2017, and beyond Using Babel to use experimental JavaScript features Exploring Node.js Modules Defining a Node.js module Finding and loading modules using require and import Using npm ? the Node.js package management system The Yarn package management system HTTP Servers and Clients Sending and receiving events with EventEmitter Understanding HTTP server applications HTTP Sniffer ? listening to the HTTP conversation Web application frameworks Getting started with Express Creating an Express application to compute Fibonacci numbers Making HTTPClient requests Calling a REST backend service from an Express application Your First Express Application Exploring Promises and async functions in Express router functions Architecting an Express application in the MVC paradigm Creating the Notes application Theming your Express application Scaling up ? running multiple Notes instances Implementing the Mobile-First Paradigm Understanding the problem ? the Notes app isn't mobile friendly Learning the mobile-first paradigm theory Using Twitter Bootstrap on the Notes application Flexbox and CSS Grids Mobile-first design for the Notes application Using third-party custom Bootstrap themes Data Storage and Retrieval Remembering that data storage requires asynchronous code Logging and capturing uncaught errors Storing notes in a filesystem Storing notes with the LevelDB datastore Storing notes in SQL with SQLite3 Storing notes the ORM way with Sequelize Storing notes in MongoDB Additional course details: Nexus Humans Introduction to Node.js (TT4153) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Introduction to Node.js (TT4153) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 2 Days 12 CPD hours This course is intended for This class assumes some prior experience with Git, plus basic coding or programming knowledge. Overview This course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment led by our expert team, students will explore: Getting Started with Collaboration Understanding the GitHub Flow Branching with Git Local Git Configuration Working Locally with Git Collaborating on Your Code Merging Pull Requests Viewing Local Project History Streaming Your Workflow with Aliases Workflow Review Project: GitHub Games Resolving Merge Conflicts Working with Multiple Conflicts Searching for Events in Your Code Reverting Commits Helpful Git Commands Viewing Local Changes Creating a New Local Repository Fixing Commit Mistakes Rewriting History with Git Reset Merge Strategies: Rebase This is a fast-paced hands-on course that provides you with a solid overview of Git and GitHub, the web-based version control repository hosting service. While the examples in this class are related to computer code, GitHub can be used for other content. It offers the complete distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project. Getting Started with The GitHub Ecosystem What is Git? Exploring a GitHub Repository Using GitHub Issues Activity: Creating A GitHub Issue Using Markdown Understanding the GitHub Flow The Essential GitHub Workflow Branching with Git Branching Defined Activity: Creating a Branch with GitHub Introduction Class Diagram Interaction Diagrams Sequence Diagrams Communication Diagrams State Machine Diagrams Activity Diagram Implementation Diagrams Local Git Configuration Checking your Git version Git Configuration Levels Viewing your configurations Configuring your username and email Configuring autocrif Working Locally with Git Creating a Local copy of the repo Our favorite Git command: git status Using Branches locally Switching branches Activity: Creating a New File The Two Stage Commit Collaborating on Your Code Collaboration Pushing your changes to GitHub Activity: Creating a Pull Request Exploring a Pull Request Activity: Code Review Merging Pull Requests Merge Explained Merging Your Pull Request Updating Your Local Repository Cleaning Up the Unneeded Branches Viewing Local Project History Using Git Log Streaming Your Workflow with Aliases Creating Custom Aliases Workflow Review Project: GitHub Games User Accounts vs. Organization Accounts Introduction to GitHub Pages What is a Fork? Creating a Fork Workflow Review: Updating the README.md Resolving Merge Conflicts Local Merge Conflicts Working with Multiple Conflicts Remote Merge Conflicts Exploring Searching for Events in Your Code What is GitHub? What is Git bisect? Finding the bug in your project Reverting Commits How Commits are made Safe operations Reverting Commits Helpful Git Commands Moving and Renaming Files with Git Staging Hunks of Changes Viewing Local Changes Comparing changes with the Repository Creating a New Local Repository Initializing a new local repository Fixing Commit Mistakes Revising your last commit Rewriting History with Git Reset Understanding reset Reset Modes Reset Soft Reset Mixed Reset Hard Does gone really mean gone? Getting it Back You just want that one commit Oops, I didn?t mean to reset Merge Strategies: Rebase About Git rebase Understanding Git Merge Strategies Creating a Linear History Additional course details: Nexus Humans Introduction to GITHub for Developers (TTDV7551) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Introduction to GITHub for Developers (TTDV7551) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 5 Days 30 CPD hours This course is intended for This introductory-level Python course is geared for experienced users who want to use Python in web development projects, or system administrators and web site administrators who want to use Python to support their server installations, as well as anyone else who wants to automate or simplify common tasks with the use of Python scripts. Basic familiarity with any programming or scripting language would be helpful, along with a working, user-level knowledge of Unix/Linux, Mac, or Windows. Overview This course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Throughout the hands-on course students, will learn to write essential Python scripts using the most current and efficient skills and techniques. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Create working Python scripts following best practices Use python data types appropriately Read and write files with both text and binary data Search and replace text with regular expressions Get familiar with the standard library and its work-saving modules Use lesser known but powerful Python data types Create 'real-world', professional Python applications Work with dates, times, and calendars Know when to use collections such as lists, dictionaries, and sets Understand Pythonic features such as comprehensions and iterators Write robust code using exception handling Mastering Python Programming is an introductory and beyond-level practical, hands-on Python training course that leads the student from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, working with binary data, and using the extensive functionality of Python modules. Extra emphasis is placed on features unique to Python, such as tuples, array slices, and output formatting. This comprehensive, practical course provides an in-depth exploration of working with the programming language, not an academic overview of syntax and grammar. Students will immediately be able to use Python to complete tasks in the real world. An overview of Python What is python? Python Timeline Advantages/Disadvantages of Python Getting help with pydoc The Python Environment Starting Python Using the interpreter Running a Python script Python scripts on Unix/Windows Editors and IDEs Getting Started Using variables Builtin functions Strings Numbers Converting among types Writing to the screen Command line parameters Flow Control About flow control White space Conditional expressions Relational and Boolean operators While loops Alternate loop exits Array types About array types (AKA sequences) Lists and list methods Tuples Indexing and slicing Iterating through a sequence Nested sequences Sequence functions, keywords, and operators List comprehensions Generator Expressions Working with files File overview Opening a text file Reading a text file Writing to a text file Reading and writing raw (binary) data Converting binary data with struct Dictionaries and Sets About dictionaries Creating dictionaries Iterating through a dictionary About sets Creating sets Working with sets Functions Defining functions Parameters Global and local scope Nested functions Returning values Sorting The sorted() function Alternate keys Lambda functions Sorting collections Using operator.itemgetter() Reverse sorting Errors and Exception Handling Syntax errors Exceptions Using try/catch/else/finally Handling multiple exceptions Ignoring exceptions Modules and Packages The import statement Module search path Creating Modules Using packages Function and Module aliases An Introduction to Python Classes About o-o programming Defining classes Constructors Methods Instance data Properties Class methods and data Regular Expressions RE syntax overview RE Objects Searching and matching Compilation flags Groups and special groups Replacing text Splitting strings Using the Standard Library The sys module Launching external programs Math functions Random numbers Reading CSV data Dates and Times Working with dates and times Translating timestamps Parsing dates from text Formatting dates Calendar data Working with the File System Paths, directories, and filenames Checking for existence Permissions and other file attributes Walking directory trees Creating filters with fileinput Using shutil for file operations Advanced Data Handling Defaultdict and Counter Prettyprinting data structures Compressed archives (zip, gzip, tar, etc.) Persistent data Network Programming Using requests Grabbing web content Sending email Using SSH for remote access Using FTP Writing real-life applications Reading input files a la Unix Parsing command-line options Detecting the current platform Implementing logging Additional course details: Nexus Humans Mastering Python Programming (TTPS4820) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Mastering Python Programming (TTPS4820) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 5 Days 30 CPD hours This course is intended for This introductory-level, fast-paced course is for skilled web developers new to React who have prior experienced working HTML5, CSS3 and JavaScript. Overview Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn about and explore: A basic and advanced understanding of React components An advanced, in-depth knowledge of how React works A complete understanding of using Redux How to build, validate, and populate interactive forms How to use inline styles for perfect looking components How to test React components How to build and use components How to get control of your build process A deep understanding of data-driven modeling with props and state How to use client-side routing for pages in your apps How to debug a React application Mastering React is a comprehensive hands-on course that aims to be the single most useful resource on getting up to speed quickly with React. Geared for more experienced web developers new to React, this course provides students with the core knowledge and hands-on skills they require to build reliable, powerful React apps. After the first few modules, you?ll have a solid understanding of React?s fundamentals and will be able to build a wide array of rich, interactive web apps with the framework. The first module is an introduction to the new functionality in ECMAScript 6 (JavaScript). Client-side routing between pages, managing complex state, and heavy API interaction at scale are also covered. This course consists of two parts. In the first part of the course students will explore all the fundamentals with a progressive, example-driven approach. You?ll create your first apps, learn how to write components, start handling user interaction, and manage rich forms. We end the first part by exploring the inner workings of Create React App (Facebook?s tool for running React apps), writing automated unit tests, and building a multi-page app that uses client-side routing. The latter part of the course moves into more advanced concepts that you?ll see used in large, production applications. These concepts explore strategies for data architecture, transport, and management: Redux is a state management paradigm based on the Flux architecture. Redux provides a structure for large state trees and allows you to decouple user interaction in your app from state changes. GraphQL is a powerful, typed, REST API alternative where the client describes the data it needs. Hooks is the powerful, new way to maintain state and properties with functional components and the future of React according to Facebook. ES6 Primer (Optional) Prefer const and let over var Arrow functions Modules Object.assign() Template literals The spread operator and Rest parameters Enhanced object literals Default arguments Destructuring assignments Your first React Web Application Setting up your development environment JavaScript ES6 /ES7 Getting started What?s a component? Our first component Building the App Making the App data-driven Your app?s first interaction Updating state and immutability Refactoring with the Babel plugin transform-class-properties JSX and the Virtual DOM React Uses a Virtual DOM Why Not Modify the Actual DOM? What is a Virtual DOM? Virtual DOM Pieces ReactElement JSX JSX Creates Elements JSX Attribute Expressions JSX Conditional Child Expressions JSX Boolean Attributes JSX Comments JSX Spread Syntax JSX Gotchas JSX Summary Components A time-logging app Getting started Breaking the app into components The steps for building React apps from scratch Updating timers Deleting timers Adding timing functionality Add start and stop functionality Methodology review Advanced Component Configuration with props, state, and children ReactComponent props are the parameters PropTypes Default props with getDefaultProps() context state Stateless Components Talking to Children Components with props.children Forms Forms 101 Text Input Remote Data Async Persistence Redux Form Modules Unit Testing & Jest Writing tests without a framework What is Jest? Using Jest Testing strategies for React applications Testing a basic React component with Enzyme Writing tests for the food lookup app Writing FoodSearch.test.js Routing What?s in a URL? React Router?s core components Building the components of react-router Dynamic routing with React Router Supporting authenticated routes Intro to Flux and Redux Why Flux? Flux is a Design Pattern Flux implementations Redux & Redux?s key ideas Building a counter The core of Redux The beginnings of a chat app Building the reducer() Subscribing to the store Connecting Redux to React Intermediate Redux Using createStore() from the redux library Representing messages as objects in state Introducing threads Adding the ThreadTabs component Supporting threads in the reducer Adding the action OPEN_THREAD Breaking up the reducer function Adding messagesReducer() Defining the initial state in the reducers Using combineReducers() from redux React Hooks Motivation behind Hooks How Hooks Map to Component Classes Using Hooks Requires react 'next' useState() Hook Example useEffect() Hook Example useContext() Hook Example Using Custom Hooks Using Webpack with Create React App JavaScript modules Create React App Exploring Create React App Webpack basics Making modifications Hot reloading; Auto-reloading Creating a production build Ejecting Using Create React App with an API server When to use Webpack/Create React App Using GraphQL Your First GraphQL Query GraphQL Benefits GraphQL vs. REST GraphQL vs. SQL Relay and GraphQL Frameworks Chapter Preview Consuming GraphQL Exploring With GraphiQL GraphQL Syntax 101 . Complex Types Exploring a Graph Graph Nodes ; Viewer Graph Connections and Edges Mutations Subscriptions GraphQL With JavaScript GraphQL With React
Duration 4 Days 24 CPD hours This course is intended for This is an introductory-level C++ programming course designed for developers with experience programming in C or other languages. Practical hands-on prior programming experience and knowledge is required. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in basic coding with C++, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn: Writing procedural programs using C++ Using private, public and protected keywords to control access to class members Defining a class in C++ Writing constructors and destructors Writing classes with const and static class members Overloading operators Implementing polymorphic methods in programs Writing programs using file I/O and string streams Using manipulators and stream flags to format output Using the keyword template to write generic functions and classes Writing programs that use generic classes and functions Writing programs that use algorithms and containers of the Standard Library Apply object-oriented design techniques to real-world programming problems Using algorithms and containers of the Standard Library to manipulate string data Understand how C++ protects the programmer from implementation changes in other modules of an application Using try() blocks to trap exceptions Using catch() blocks to handle exceptions Defining exceptions and using throw to trigger them Introduction to C++ Programming / C++ Essentials is a skills-focused, hands-on C++ training course geared for experienced programmers who need to learn C++ coupled with sounds coding skills and best practices for OO development. Students will leave this course armed with the required skills to put foundation-level C++ programming skills right to work in a practical environment. The central concepts of C++ syntax and style are taught in the context of using object-oriented methods to achieve reusability, adaptability and reliability. Emphasis is placed on the features of C++ that support abstract data types, inheritance, and polymorphism. Students will learn to apply the process of data abstraction and class design. Practical aspects of C++ programming including efficiency, performance, testing, and reliability considerations are stressed throughout. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency Moving from C to C++ (Optional) New Compiler Directives Stream Console I/O Explicit Operators Standard Libraries Data Control Capabilities Handling Data New Declaration Features Initialization and Assignment Enumerated Types The bool Type Constant Storage Pointers to Constant Storage Constant Pointers References Constant Reference Arguments Volatile Data Global Data Functions Function Prototypes and Type Checking Default Function Data Types Function Overloading Problems with Function Overloading Name Resolution Promotions and Conversions Call by Value Reference Declarations Call-by-Reference and Reference Types References in Function Return Constant Argument Types Conversion of Parameters Using Default Initializers Providing Default Arguments Inline Functions Operator Overloading Advantages and Pitfalls of Overloading Member Operator Syntax and Examples Class Assignment Operators Class Equality Operators Non-Member Operator Overloading Member and Non-Member Operator Functions Operator Precedence This Pointer Overloading the Assignment Operator Overloading Caveats Creating and Using Objects Creating Automatic Objects Creating Dynamic Objects Calling Object Methods Constructors Initializing Member consts Initializer List Syntax Allocating Resources in Constructor Destructors Block and Function Scope File and Global Scope Class Scope Scope Resolution Operator :: Using Objects as Arguments Objects as Function Return Values Constant Methods Containment Relationships Dynamic Memory Management Advantages of Dynamic Memory Allocation Static, Automatic, and Heap Memory Free Store Allocation with new and delete Handling Memory Allocation Errors Controlling Object Creation Object Copying and Copy Constructor Automatic Copy Constructor Conversion Constructor Streaming I/O Streams and the iostream Library Built-in Stream Objects Stream Manipulators Stream Methods Input/Output Operators Character Input String Streams Formatted I/O File Stream I/O Overloading Stream Operators Persistent Objects Introduction to Object Concepts The Object Programming Paradigm Object-Orientated Programming Definitions Information Hiding and Encapsulation Separating Interface and Implementation Classes and Instances of Objects Overloaded Objects and Polymorphism Declaring and Defining Classes Components of a Class Class Structure Class Declaration Syntax Member Data Built-in Operations Constructors and Initialization Initialization vs. Assignment Class Type Members Member Functions and Member Accessibility Inline Member Functions Friend Functions Static Members Modifying Access with a Friend Class Templates Purpose of Template Classes Constants in Templates Templates and Inheritance Container Classes Use of Libraries Strings in C++ Character Strings The String Class Operators on Strings Member Functions of the String Class Inheritance Inheritance and Reuse Composition vs. Inheritance Inheritance: Centralized Code Inheritance: Maintenance and Revision Public, Private and Protected Members Redefining Behavior in Derived Classes Designing Extensible Software Systems Syntax for Public Inheritance Use of Common Pointers Constructors and Initialization Inherited Copy Constructors Destructors and Inheritance Public, Protected, Private Inheritance Exceptions Types of Exceptions Trapping and Handling Exceptions Triggering Exceptions Handling Memory Allocation Errors C++ Program Structure Organizing C++ Source Files Integrating C and C++ Projects Using C in C++ Reliability Considerations in C++ Projects Function Prototypes Strong Type Checking Constant Types C++ Access Control Techniques Polymorphism in C++ Definition of Polymorphism Calling Overridden Methods Upcasting Accessing Overridden Methods Virtual Methods and Dynamic Binding Virtual Destructors Abstract Base Classes and Pure Virtual Methods Multiple Inheritance Derivation from Multiple Base Classes Base Class Ambiguities Virtual Inheritance Virtual Base Classes Virtual Base Class Information The Standard Template Library STL Containers Parameters Used in Container Classes The Vector Class STL Algorithms Use of Libraries
Duration 3 Days 18 CPD hours This course is intended for This introductory-level course is for experienced DBAs who will be working with MongoDB. In order to gain the most from this course you should have: Prior practical experience in Database Administration Experience working with Linux and be comfortable working with command line Overview This skills-focused course is approximately 50% hands-on. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will explore: The MongoDB Basic Architecture and Installation MongoDB administration User Management MongoDB security Indexes Backup & Recovery High Availability / Replication Diagnostics & Troubleshooting MongoDB is fast becoming the database of choice for big data applications, being one of the most popular and widely implemented NoSQL databases. Its scalability, robustness, and flexibility have made it extremely popular among business enterprises who use it to implement a variety of activities including social communications, analytics, content management, archiving and other activities. This has led to an increased demand for MongoDB administrators who have the skills to handle cross functional duties. Geared for experienced DBAs, MongoDB for DBAs is a three-day hands-on course that explores the concepts, architecture and pitfalls of managing a MongoDB installation. This course is targeted to the DBA who is familiar with the concepts and tasks of working with a Relational database and is not responsible for a NoSQL MongoDB database. You will learn the critical aspects of MongoDB and use it to solve data management challenges. You will learn to manage MongoDB effectively by gaining expertise in MongoDB administration tools, syntax, MongoDB installations, configurations, security, troubleshooting, backup, scaling and many other features. The focus of this course is on practical skills and applying the DBA existing database knowledge to a MongoDB installation. Introduction to MongoDB Basic Architecture and Installation Differentiate database categories Learn MongoDB design goals List MongoDB tools Describe JSON and BSON Understanding the basic concepts of a Database Database categories: What is NoSQL? Why NoSQL? Benefit over RDBMS Types of NoSQL Database, and NoSQL vs. SQL Comparison, ACID & Base Property CAP Theorem, implementing NoSQL and what is MongoDB? Graph Database Overview of MongoDB, Design Goals for MongoDB Server and Database, MongoDB tools Understanding the following: Collection, Documents and Key/Values, etc., Introduction to JSON and BSON documents Environment setup (live Handson) and using various MongoDB tools available in the MongoDB Package MongoDB Administration Take database backup and restore MongoDB© Export and import data from/ to a MongoDB© instance Check server status and DB status Monitor various resource utilization of a mongod instance Understand various optimization strategies Administration concepts in MongoDB Monitoring issues related to Database Monitoring at Server, Database, Collection level, and various Monitoring tools related to MongoDB Database Profiling, Locks, Memory Usage, No of connections, page fault etc., Backup and Recovery Methods for MongoDB Export and Import of Data to and from MongoDB Run time configuration of MongoDB Production notes/ best practices Data Managements in MongoDB (Capped Collections/ Expired data from TTL), TTL Collection Features GridFS Memory-Mapped Files Journaling Mechanics Storage Engines Power of 2-Sized Allocations No Padding Allocation Strategy Diagnosing Performance Issues Optimization Strategies for MongoDB Configure Tag Sets for Replica Set. Optimize Query Performance Monitoring Strategies for MongoDB . MongoDB Utilities MongoDB Commands MongoDB Management Service (MMS) Data Backup Strategies in MongoDB Copying Underlying Data Files Backup with MongoDump Fsync and Lock MongoDB Ops Manager Backup Software Security Strategies in MongoDB Authentication Implementation in MongoDB . Authentication in a Replica set Authentication on Sharded Clusters Authorization End-to-End Auditing for Compliance User Management Create a User Administrator. Add a User to a Database. Create/Assign User a Role. Verify/Modify a User Access/Privileges. Change a User?s Password MongoDB Security Knowing security concepts in MongoDB Understand how Authentication and Authorisation works Security Introduction Security Concepts Indexes Index Introduction, Index Concepts, Index Types Index Properties Index Creation and Indexing Reference Introduction to Aggregation Aggregation Approach to Aggregation sort Order Pipeline Operators and Indexes Text Indexes Aggregate Pipeline Stages Text Search MapReduce Index Creation Aggregation Operations Index Creation on Replica Set Remove, Modify, and Rebuild Indexes Listing Indexes Measure Index Use Control Index Use Index Use Reporting Geospatial Indexes MongoDB?s Geospatial Query Operators GeoWith Operator Backup & Recovery Import and Export MongoDB Data Restore and recovery of MongoDB(Including point in time Recovery) Restore a Replica Set from MongoDB Backups Recover Data after an Unexpected Shutdown Backup and Restore with Filesystem Snapshots Back Up and Restore with MongoDB Tools Backup and Restore Sharded Clusters High Availability (Replication ) Understand the concept of Replication in MongoDB© ? Create a production like Replica Set Introduction to Replication (High Availability), Concepts around Replication What is Replica Set and Master Slave Replication? Type of Replication in MongoDB How to setup a replicated cluster & managing replica sets etc., Master-Slave Replication Replica Set in MongoDB Automatic Failover Replica Set Members Write Concern Write Concern Levels Write Concern for a Replica Set Modify Default Write Concern Read Preference Read Preference Modes Blocking for Replication Tag Set Configure Tag Sets for Replica set. Replica Set Deployment Strategies . Replica Set Deployment Patterns Oplog File Replication State and Local Database, Replication Administration Diagnostics & Troubleshooting Troubleshoot slow queries Diagnose connectivity problems Understand diagnostic tools Learn common production issues Learn fixes and solutions. Additional course details: Nexus Humans Introduction to MongoDB for DBAs (TTDB4680) training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the Introduction to MongoDB for DBAs (TTDB4680) course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 2 Days 12 CPD hours This course is intended for This course is intended for intermediate business and requirements analysts who are looking to improve their business case development and presentation skills. This course is also a great fit for project managers and product owners who work closely with business analysts or who perform some form of business case work themselves. Overview Understand the role of the business analyst within the business case process Understand the main professional associations and standards that support business analysts in the industry Discuss the benefits of business case creation Explore how to define the business need Describe the role of the business analyst in supporting the enterprise to determine how to optimally invest in the right project initiatives Explain how to identify stakeholders and the significance to the pre-project activities Discuss the importance of analyzing the enterprise Describe and explore the activities performed to assess the current business environment Explain how a business analyst describes a ?future? state environment including how to identify gaps in enterprise capabilities Present and explore how to define the scope of a solution Describe the activities performed and techniques used to determine viable solution options Explore various techniques for evaluating solution options including feasibility and risk analysis Thoroughly understand the purpose of conducting a feasibility assessment Discuss and practice a number of business analysis techniques that support the business case process Explore the components of a business case Describe how the business case supports decision makers in making go/no-go decisions Demonstrate how to assemble the output from pre-project activities into a well-structured business case Present techniques for presenting business cases to top level managers and obtaining buy-in Discuss methods for preparing for challenges during business case delivery Students learn the steps to effective business case development and support your strategic business recommendations with sound budgeting and financial back-up. The one course you need to make high-impact recommendations and receive full management support for your ideas. Introduction Module Learning Objectives What is Business Analysis Polling Question International Institute of Business Analysis BABOK© Guide Components Project Management Institute Business Analysis for Practitioners: A Practice Guide BABOK© Guide Knowledge Areas Benefits of Business Analysis Polling Question A Business Analyst can Influence Project Success Factors Challenges of Business Analysis Polling Question Purpose of a Business Case Exercise 1a: What Should a Business Case Include Define the Business Case Elements What to Look Out For Who is Involved Exercise 1b: Review Business Case Outline Module Learning Objectives Pre-Project Activities & the Business Analyst Module Learning Objectives The Definition of a Business Analyst The Role of a Business Analyst Responsibilities of a BA BA Role vs. PM Role Business Analysis vs. Systems Analysis Business Analysis Competencies Polling Question Business Analyst Role and Stakeholders Exercise 2a: Review the Case Study What is a Stakeholder? The Importance of Stakeholders Stakeholder Identification Tips for Identifying Stakeholders Other Stakeholder Tips Stakeholder Identification/Analysis Exercise 2b: Identify Roles and Responsibilities Stakeholder Map Stakeholder Matrix & Onion Diagrams A Stakeholder Map Onion Diagram Exercise 2c: Why do we Need to Understand the Enterprise? Why Study the Enterprise? What is Enterprise Architecture? What is Strategy Analysis? About Strategy Analysis Purpose of Strategy Analysis When to Perform Strategy Analysis Strategic Planning Module Summary The Needs Assessment Process Module Learning Objectives Business Need Defined Define Business Need The Needs Assessment Process Problem or Opportunity Exercise 3a: Problem/Opportunity Identification Understanding Why Situation Statements Business Need and Current State Determine the Stakeholders Polling Question Goals and Objectives Polling Question Exercise 3b: Give 3 Examples of Business Goals Define Business Need Techniques Exercise 3c: Identify the Business Need Definition of Strategy Analysis When Business Strategy is not Driving Project Definition Typical Project Profile The Executive Paradox Solution to the Paradox Exercise 3d: Describe 3 Outcomes You Would Expect from the Case Study The Four ?Ares? Understand How to Create a Business Model Business Model Example Exercise 3e: Create a Business Model The Business Case Approach Financial and Strategic Measurement Tools Module Summary Determining the Required Capabilities & Defining Solution Scope Module Learning Objectives Business Need and Current State Purpose of Analyzing the Current State Analyzing Current Capabilities and Process Capabilities Defined Techniques for Analyzing the Current State Define the Future State Techniques for Defining the Future State Assess Capability Gaps Stakeholders Involved when Reviewing Capability Gaps Discussion: Assessing New Capabilities Defining Solution Scope Determining Scope Boundary How to Define Solution Scope Defining Solution Scope Project Scope and Product Scope Scope Modeling Techniques Used to Define Scope Define Scope Boundaries Modeling Scope: Context Diagram Exercise 4a: Create a Context Diagram from the Case Study Communicating Solution Scope to Stakeholders Stakeholders Participating in Scope Activities Exercise 4b: Discuss Managing Expectations Module Summary Assessing Feasibility & Proposing Solution Options Module Learning Objectives Financial Analysis Purpose of Financial Analysis Costs versus Benefits Financial Models Timing for Assessing Financial Benefits Risk Assessing Risks Risk Process Exercise 5a: Identifying Risks Risk Analysis Capturing and Categorizing Risks Risk Strategies Tolerance for Risk Determining Solution Options Solution Option Process Determining and Analyzing Solution Options Brainstorming Conducting an Outcomes Focused Brainstorming Session Stakeholders Involved in Determining Solution Options Exercise 5b: Determining Solution Options Feasibility Analysis Discussion: Ranking Solution Options Discussion: Recommending the Most Viable Option Exercise 5c: Assess the Most Viable Options Solution Approach Definition Exercise 5d: Review the Business Case Templates Module Summary Packaging & Presenting the Business Case Module Learning Objectives Circumventing a Business Case Documenting the Business Case Value of the Business Case Process Business Case Components Business Case Techniques Build a Convincing Business Case Discussion: Identifying Decision Criteria Exercise 6a: Supporting a Go/No Go Decision Packaging the Business Case Planning Business Case Delivery Discussion: Planning Stakeholder Buy-in Information and Communication Needs in the Business Case Process Presenting your Business Case Exercise 6b: Anticipating and Responding to Challenges Module Summary Course Wrap Up Course Summary Questions Additional Resources Thank You Additional course details: Nexus Humans BA03 - Writing Effective Business Cases training program is a workshop that presents an invigorating mix of sessions, lessons, and masterclasses meticulously crafted to propel your learning expedition forward. This immersive bootcamp-style experience boasts interactive lectures, hands-on labs, and collaborative hackathons, all strategically designed to fortify fundamental concepts. Guided by seasoned coaches, each session offers priceless insights and practical skills crucial for honing your expertise. Whether you're stepping into the realm of professional skills or a seasoned professional, this comprehensive course ensures you're equipped with the knowledge and prowess necessary for success. While we feel this is the best course for the BA03 - Writing Effective Business Cases course and one of our Top 10 we encourage you to read the course outline to make sure it is the right content for you. Additionally, private sessions, closed classes or dedicated events are available both live online and at our training centres in Dublin and London, as well as at your offices anywhere in the UK, Ireland or across EMEA.
Duration 5 Days 30 CPD hours This course is intended for In order to be successful in this course you should have incoming hands-on experience with another programming language. This course is not for non-developers or new developers. Possible roles that may attend this course include: Software Developers: Professionals who have been working with other programming languages and want to expand their skillset by learning Java and its object-oriented features. Web Developers: Those who work on web applications and want to enhance their back-end development capabilities with Java. Mobile App Developers: Developers who wish to enter the world of Android app development, where Java is a widely used language for creating mobile applications. Overview This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in core OO coding and Java development skills, coupling the most current, effective techniques with the soundest industry practices. Our engaging instructors and mentors are highly experienced practitioners who bring years of current 'on-the-job' experience into every classroom. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Understand what OO programming is and what the advantages of OO are in today's world Work with objects, classes, and OO implementations Understand the basic concepts of OO such as encapsulation, inheritance, polymorphism, and abstraction Understand not only the fundamentals of the Java language, but also its importance, uses, strengths and weaknesses Understand the basics of the Java language and how?it relates to OO programming and the Object Model Learn to use Java exception handling Understand and use classes, inheritance and polymorphism Understand and use collections, generics, autoboxing, and enumerations Become familiar with the concept of functional programming using Lambda Expressions Process large amounts of data using the Stream API introduced in Java 8 Discover the new Date/Time API Use the JDBC API for database access Work with annotations Take advantage of the Java tooling that is available with the programming environment being used in the class Java 8 Features: Lambda Expressions, Method and Constructor references, The Streams API, Collectors, The Optional class Geared for experienced developers, Basic Java Programming for Developers New to OO, this hands-on, workshop-style course will provide you with an immersive learning experience that will expand your skillset and open doors to new opportunities within the ever-growing technology landscape. Mastering Java and its powerful capabilities will provide you with the competitive edge you need to stand out in today's fast-paced development world. Working in a hands-on learning environment led by our expert coach, you?ll thoroughly explore the foundations of the Java platform, essential programming concepts, and advanced topics, ensuring you acquire a strong understanding of the language and its ecosystem. The object-oriented programming principles taught in this course promote code reusability and maintainability, enabling you to streamline development processes and reduce long-term costs. As you progress through the course, you will also gain familiarity with using an IDE, enhancing your development workflow and collaboration with other Java developers, enabling you to integrate seamlessly into new projects and teams. You?ll also gain practical experience in applying the concepts and techniques learned, solidifying your newly acquired skills and facilitating their direct application in real-world scenarios. You?ll exit this course empowered to create robust, scalable, and efficient Java-based applications that drive innovation and growth for your organization The Java Platform The Java Platform Lifecycle of a Java Program Responsibilities of JVM Documentation and Code Reuse Using the JDK Explain the JDK?s file structure Use the command line compiler to compile a Java class Use the command line Java interpreter to run a Java application class The IntelliJ Paradigm Introduce the IntelliJ IDE The Basics of the IntelliJ interface IntelliJ Projects and Modules Creating and running Java applications Writing a Simple Class Write a Java class that does not explicitly extend another class Define instance variables for a Java class Create object instances Primitives vs Object References Implement a main method to create an instance of the defined class Adding Methods to the Class Write a class with accessor methods to read and write instance variables Write a constructor to initialize an instance with data Write a constructor that calls other constructors of the class to benefit from code reuse Use the this keyword to distinguish local variables from instance variables Object-Oriented Programming Real-World Objects Classes and Objects Object Behavior Methods and Messages Inheritance, Abstraction, and Polymorphism Encapsulation Inheritance Method Overriding Polymorphism Essential Java Programming Essential Java Programming Language Statements Arithmetic operators Operators to increment and decrement numbers Comparison operators Logical operators Return type of comparison and logical operators Use for loops Switch Expressions Switch Expressions and yield Using Strings and Text Blocks Create an instance of the String class Test if two strings are equal Get the length of a string Parse a string for its token components Perform a case-insensitive equality test Build up a string using StringBuffer Contrast String, StringBuffer,and StringBuilder Compact Strings Text Blocks Specializing in a Subclass Constructing a class that extends another class Implementing equals and toString Writing constructors that pass initialization data to parent constructor Using instanceof to verify type of an object reference Pattern matching for instanceof Overriding subclass methods Safely casting references to a more refined type Fields and Variables Discuss Block Scoping Rules Distinguish between instance variables and method variables within a method Explain the difference between the terms field and variable List the default values for instance variables Final and Static fields and methods Local Variable type inference Using Arrays Declaring an array reference Allocating an array Initializing the entries in an array Writing methods with a variable number of arguments Records Data Objects in Java Introduce records as carrier of immutable data Defining records Java Packages and Visibility Use the package keyword to define a class within a specific package Discuss levels of accessibility/visibility Using the import keyword to declare references to classes in a specific package Using the standard type naming conventions Visibility in the Java Modular System Correctly executing a Java application class The Java modular system Defining Modules Inheritance and Polymorphism Write a subclass with a method that overrides a method in the superclass Group objects by their common supertype Utilize polymorphism Cast a supertype reference to a valid subtype reference Use the final keyword on methods and classes to prevent overriding Interfaces and Abstract Classes Define supertype contracts using abstract classes Implement concrete classes based on abstract classes Define supertype contracts using interfaces Implement concrete classes based on interfaces Explain advantage of interfaces over abstract classes Explain advantage of abstract classes over interfaces Static, default and private methods in interfaces Sealed classes Introduce Sealed classes The sealed and permits modifiers Sealed Interfaces Exception Handling Introduction to Exception Handling Introduce the Exception architecture Defining a try/catch blocks Checked vs Unchecked exceptions Exceptions Defining your own application exceptions Automatic closure of resources Suppressed exceptions Handling multiple exceptions in one catch Helpful Nullpointers Enhanced try-with-resources Java Developer's Toolbox Developing applications Introduce the wrapper classes Explain Autoboxing and Unboxing Converting String representations of primitive numbers into their primitive types Defining Enumerations Using static imports Deprecating methods Advanced Java Programming Introduction to Generics Generics and Subtyping Bounded Wildcards Generic Methods Legacy Calls To Generics When Generics Should Be Used Lambda Expressions and Functional Interface Understanding the concept of functional programming Writing lambda expressions Understanding functional interfaces Collections Provide an overview of the Collection API Review the different collection implementations (Set, List and Queue) Explore how generics are used with collections Examine iterators for working with collections Using Collections Collection Sorting Comparators Using the Right Collection Lambda expressions in Collections Bonus Topics: Time Permitting Streams Understanding the problem with collections in Java Thinking of program solutions in a declarative way Use the Stream API to process collections of data Understand the difference between intermediate and terminal stream operations Filtering elements from a Stream Finding element(s) within a Stream Collecting the elements from a Stream into a List takeWhile and dropWhile intermediate operations Collectors Using different ways to collect the items from a Stream Grouping elements within a stream Gathering statistics about numeric property of elements in a stream
This two-day programme gives the key insights and understanding of contracting principles and the impact they have on business and operations. The course is designed for individuals involved in or supporting contracting who want to improve their commercial management skills; individuals in functions such as project management, business development, finance, operations who need practical training in commercial management; general audiences wanting to gain a basic understanding of commercial management. This is an assessed programme, leading to the International Association for Contracts & Commercial Management (IACCM)'s coveted Contract and Commercial Management Associate (CCMA) qualification. The programme addresses 31 different subject areas, across the five stages of the contracting process. By the end of the course the participants will be able, among other things, to: Develop robust contract plans, including scope of work and award strategies Conduct effective contracting activities, including ITT, RFP, negotiated outcomes Negotiate effectively with key stakeholders, making use of the key skills of persuading and influencing and to work with stakeholders to improve outcomes Set up and maintain contract management systems Take a proactive approach to managing contracts Make effective use of lessons learned to promote improvements from less than optimal outcomes, using appropriate templates Develop and monitor appropriate and robust Key Performance Indicators to manage the contractor and facilitate improved performance Understand the approvals process and how to develop and present robust propositions Make appropriate use of best practice contract management tools, techniques and templates DAY ONE 1 Introductions Aims Objectives Plan for the day 2 Commercial context Explaining the contracting context Define the key objective The importance of contact management Impact upon the business 3 Stakeholders How to undertake stakeholder mapping and analysis Shared vision concept, How to engage with HSE, Finance, Operations 4 Roles and responsibilities Exploring the key roles and responsibilities of contract administrators, HSE, Finance, Divisional managers, etc 5 Initiating the contract cycle Overview of the contracting cycle Requirement to tender Methods Rationale and exceptions 6 Specifications Developing robust scope of works Use of performance specifications Output based SOW 7 Strategy and award criteria Developing a robust contract strategy Award submissions/criteria 8 Managing the tender process Review the pre-qualification process Vendor registration rules and processes Creation of bidder lists Evaluation, short listing, and how to use of the 10Cs© model template and app 9 Types of contract Classify the different types of contracts Call-offs Framework agreement Price agreements Supply agreements 10 The contract I: price Understanding contract terms Methods of compensation Lump sum, unit price, cost plus, time and materials, alternative methods Cost plus a fee, target cost, gain share contracts Advanced payments Price escalation clauses DAY TWO 11 Risk How to manage risks Risk classification Mitigation of contractual risks 12 Contractor relationship management session Effectively managing relationships with contractors, Types of relationships Driving forces? Link between type of contract and style of relationship 13 Disputes Dealing with disputes Conflict resolution Negotiation Mediation Arbitration 14 Contract management Measuring and improving contract performance Using KPIs and SLAs Benchmarking Cost controls 15 The contract II: terms and conditions Contract terms and conditions Legal aspects Drafting special terms 16 Managing claims and variations How to manage contract and works variations orders Identifying the causes of variations Contractor claims process 17 Completion Contract close-out process Acceptance/completion Capture the learning/HSE Final payments, evaluation of performance 18 Close Review Final assessment