Duration 4 Days 24 CPD hours This course is intended for Students in this course are interested in designing and implementing DevOps processes or in passing the Microsoft Azure DevOps Solutions certification exam. This course provides the knowledge and skills to design and implement DevOps processes and practices. Students will learn how to plan for DevOps, use source control, scale Git for an enterprise, consolidate artifacts, design a dependency management strategy, manage secrets, implement continuous integration, implement a container build strategy, design a release strategy, set up a release management workflow, implement a deployment pattern, and optimize feedback mechanisms Prerequisites Successful learners will have prior knowledge and understanding of: Cloud computing concepts, including an understanding of PaaS, SaaS, and IaaS implementations. Both Azure administration and Azure development with proven expertise in at least one of these areas. Version control, Agile software development, and core software development principles. It would be helpful to have experience in an organization that delivers software. AZ-104T00 - Microsoft Azure Administrator AZ-204T00: Developing Solutions for Microsoft Azure 1 - Introduction to DevOps What is DevOps? Explore the DevOps journey Identify transformation teams Explore shared goals and define timelines 2 - Choose the right project Explore greenfield and brownfield projects Decide when to use greenfield and brownfield projects Decide when to use systems of record versus systems of engagement Identify groups to minimize initial resistance Identify project metrics and key performance indicators (KPIs) 3 - Describe team structures Explore agile development practices Explore principles of agile development Define organization structure for agile practices Explore ideal DevOps team members Enable in-team and cross-team collaboration Select tools and processes for agile practices 4 - Choose the DevOps tools What is Azure DevOps? What is GitHub? Explore an authorization and access strategy Migrate or integrate existing work management tools Migrate or integrate existing test management tools Design a license management strategy 5 - Plan Agile with GitHub Projects and Azure Boards Link GitHub to Azure Boards Configure GitHub Projects Manage work with GitHub Project boards Customize Project views Collaborate using team discussions Agile Plan and Portfolio Management with Azure Boards 6 - Introduction to source control Explore DevOps foundational practices What is source control? Explore benefits of source control Explore best practices for source control 7 - Describe types of source control systems Understand centralized source control Understand distributed source control Explore Git and Team Foundation Version Control Examine and choose Git Understand objections to using Git Describe working with Git locally 8 - Work with Azure Repos and GitHub Migrate from TFVC to Git Use GIT-TFS Develop online with GitHub Codespaces 9 - Structure your Git Repo Explore monorepo versus multiple repos Implement a change log 10 - Manage Git branches and workflows Explore branch workflow types Explore feature branch workflow Explore Git branch model for continuous delivery Explore GitHub flow Explore fork workflow Version Control with Git in Azure Repos 11 - Collaborate with pull requests in Azure Repos Collaborate with pull requests Examine GitHub mobile for pull request approvals 12 - Identify technical debt Examine code quality Examine complexity and quality metrics Measure and manage technical debt Integrate other code quality tools Plan effective code reviews 13 - Explore Git hooks Implement Git hooks 14 - Plan foster inner source Explore foster inner source Implement the fork workflow Describe inner source with forks 15 - Manage Git repositories Work with large repositories Purge repository data Manage releases with GitHub Repos Automate release notes with GitHub 16 - Explore Azure Pipelines Explore the concept of pipelines in DevOps Describe Azure Pipelines Understand Azure Pipelines key terms 17 - Manage Azure Pipeline agents and pools Choose between Microsoft-hosted versus self-hosted agents Explore job types Explore predefined agent pool Understand typical situations for agent pools Communicate with Azure Pipelines Communicate to deploy to target servers Examine other considerations Describe security of agent pools Configure agent pools and understanding pipeline styles 18 - Describe pipelines and concurrency Understand parallel jobs Estimate parallel jobs Describe Azure Pipelines and open-source projects Explore Azure Pipelines and Visual Designer Describe Azure Pipelines and YAML 19 - Explore continuous integration Learn the four pillars of continuous integration Explore benefits of continuous integration Describe build properties Enable Continuous Integration with Azure Pipelines 20 - Implement a pipeline strategy Configure agent demands Implement multi-agent builds Explore source control types supported by Azure Pipelines 21 - Integrate with Azure Pipelines Describe the anatomy of a pipeline Understand the pipeline structure Detail templates Explore YAML resources Use multiple repositories in your pipeline 22 - Introduction to GitHub Actions What are Actions? Explore Actions flow Understand workflows Describe standard workflow syntax elements Explore events Explore jobs Explore runners Examine release and test an action 23 - Learn continuous integration with GitHub Actions Describe continuous integration with actions Examine environment variables Share artifacts between jobs Examine Workflow badges Describe best practices for creating actions Mark releases with Git tags Create encrypted secrets Use secrets in a workflow Implement GitHub Actions for CI/CD 24 - Design a container build strategy Examine structure of containers Work with Docker containers Understand Dockerfile core concepts Examine multi-stage dockerfiles Examine considerations for multiple stage builds Explore Azure container-related services Deploy Docker containers to Azure App Service web apps 25 - Introduction to continuous delivery Explore traditional IT development cycle What is continuous delivery? Move to continuous delivery Understand releases and deployments Understand release process versus release 26 - Create a release pipeline Describe Azure DevOps release pipeline capabilities Explore release pipelines Explore artifact sources Choose the appropriate artifact source Examine considerations for deployment to stages Explore build and release tasks Explore custom build and release tasks Explore release jobs Configure Pipelines as Code with YAML 27 - Explore release recommendations Understand the delivery cadence and three types of triggers Explore release approvals Explore release gates Use release gates to protect quality Control Deployments using Release Gates 28 - Provision and test environments Provision and configure target environments Configure automated integration and functional test automation Understand Shift-left Set up and run availability tests Explore Azure Load Testing Set up and run functional tests 29 - Manage and modularize tasks and templates Examine task groups Explore variables in release pipelines Understand variable groups 30 - Automate inspection of health Automate inspection of health Explore events and notifications Explore service hooks Configure Azure DevOps notifications Configure GitHub notifications Explore how to measure quality of your release process Examine release notes and documentation Examine considerations for choosing release management tools Explore common release management tools 31 - Introduction to deployment patterns Explore microservices architecture Examine classical deployment patterns Understand modern deployment patterns 32 - Implement blue-green deployment and feature toggles What is blue-green deployment? Explore deployment slots Describe feature toggle maintenance 33 - Implement canary releases and dark launching Explore canary releases Examine Traffic Manager Understand dark launching 34 - Implement A/B testing and progressive exposure deployment What is A/B testing? Explore CI-CD with deployment rings 35 - Integrate with identity management systems Integrate GitHub with single sign-on (SSO) Explore service principals Explore Managed Identity 36 - Manage application configuration data Rethink application configuration data Explore separation of concerns Understand external configuration store patterns Examine Key-value pairs Examine App configuration feature management Integrate Azure Key Vault with Azure Pipelines Manage secrets, tokens and certificates Examine DevOps inner and outer loop Integrate Azure Key Vault with Azure DevOps Enable Dynamic Configuration and Feature Flags 37 - Explore infrastructure as code and configuration management Explore environment deployment Examine environment configuration Understand imperative versus declarative configuration Understand idempotent configuration 38 - Create Azure resources using Azure Resource Manager templates Why use Azure Resource Manager templates? Explore template components Manage dependencies Modularize templates Manage secrets in templates Deployments using Azure Bicep templates 39 - Create Azure resources by using Azure CLI What is Azure CLI? Work with Azure CLI 40 - Explore Azure Automation with DevOps Create automation accounts What is a runbook? Understand automation shared resources Explore runbook gallery Examine webhooks Explore source control integration Explore PowerShell workflows Create a workflow Examine checkpoint and parallel processing 41 - Implement Desired State Configuration (DSC) Understand configuration drift Explore Desired State Configuration (DSC) Explore Azure Automation State configuration (DSC) Examine DSC configuration file Explore hybrid management Implement DSC and Linux Automation on Azure 42 - Implement Bicep What is Bicep? Install Bicep Understand Bicep file structure and syntax 43 - Introduction to Secure DevOps Describe SQL injection attack Understand DevSecOps Explore Secure DevOps Pipeline Explore key validation points Explore continuous security validation Understand threat modeling 44 - Implement open-source software Explore how software is built What is open-source software Explore corporate concerns with open-source software components Explore common open-source licenses Examine license implications and ratings 45 - Software Composition Analysis Inspect and validate code bases for compliance Explore software composition analysis (SCA) Integrate Mend with Azure Pipelines Implement GitHub Dependabot alerts and security updates Integrate software composition analysis checks into pipelines Examine tools for assess package security and license rate Interpret alerts from scanner tools Implement security and compliance in an Azure Pipeline 46 - Static analyzers Explore SonarCloud Explore CodeQL in GitHub Manage technical debt with SonarCloud and Azure DevOps 47 - OWASP and Dynamic Analyzers Plan Implement OWASP Secure Coding Practices Explore OWASP ZAP penetration test Explore OWASP ZAP results and bugs 48 - Security Monitoring and Governance Implement pipeline security Explore Microsoft Defender for Cloud Examine Microsoft Defender for Cloud usage scenarios Explore Azure Policy Understand policies Explore initiatives Explore resource locks Explore Azure Blueprints Understand Microsoft Defender for Identity 49 - Explore package dependencies What is dependency management? Describe elements of a dependency management strategy Identify dependencies Understand source and package componentization Decompose your system Scan your codebase for dependencies 50 - Understand package management Explore packages Understand package feeds Explore package feed managers Explore common public package sources Explore self-hosted and SaaS based package sources Consume packages Publish packages Package management with Azure Artifacts 51 - Migrate consolidating and secure artifacts Identify existing artifact repositories Migrate and integrating artifact repositories Secure access to package feeds Examine roles Examine permissions Examine authentication 52 - Implement a versioning strategy Understand versioning of artifacts Explore semantic versioning Examine release views Promote packages Explore best practices for versioning 53 - Introduction to GitHub Packages Publish packages Install a package Delete and restore a package Explore package access control and visibility 54 - Implement tools to track usage and flow Understand the inner loop Explore Azure Monitor and Log Analytics Examine Kusto Query Language (KQL) Explore Application Insights Implement Application Insights Monitor application performance with Application Insights 55 - Develop monitor and status dashboards Explore Azure Dashboards Examine view designer in Azure Monitor Explore Azure Monitor workbooks Explore Power BI Build your own custom application 56 - Share knowledge within teams Share acquired knowledge within development teams Integrate with Azure Boards Share team knowledge using Azure Project Wiki 57 - Design processes to automate application analytics Explore rapid responses and augmented search Integrate telemetry Examine monitoring tools and technologies 58 - Manage alerts, blameless retrospectives and a just culture Examine when get a notification Explore how to fix it Explore smart detection notifications Improve performance Understand server response time degradation Reduce meaningless and non-actionable alerts Examine blameless retrospective Develop a just culture
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 4 Days 24 CPD hours This course is intended for This course is intended for: Network administrators Network engineers with little or no programming or Python experience Network managers Systems engineers Overview After taking this course, you should be able to: Create a Python script Describe data types commonly used in Python coding Describe Python strings and their use cases Describe Python loops, conditionals, operators, and their purposes and use cases Describe Python classes, methods, functions, namespaces, and scopes Describe the options for Python data manipulation and storage Describe Python modules and packages, their uses, and their benefits Explain how to manipulate user input in Python Describe error and exception management in Python Describe Python code debugging methods The Programming for Network Engineers (PRNE) v2.0 course is designed to equip you with fundamental skills in Python programming. Through a combination of lectures and lab experience in simulated network environments, you will learn to use Python basics to create useful and practical scripts with Netmiko to retrieve data and configure network devices. Upon completion of this course, you should have a basic understanding of Python, including the knowledge to create, apply, and troubleshoot simple network automation scripts. Course Outline Introducing Programmability and Python for Network Engineers Scripting with Python Examining Python Data Types Manipulating Strings Describing Conditionals, Loops, and Operators Exploring Classes, Methods, Functions, Namespaces, and Scopes Exploring Data Storage Options Exploring Python Modules and Packages Gathering and Validating User Input Analyzing Exceptions and Error Management Examining Debugging Methods
Duration 4 Days 24 CPD hours This course is intended for This course is intended for: Network administrators Network engineers with little or no programming or Python experience Network managers Systems engineers Overview After taking this course, you should be able to: Create a Python script Describe data types commonly used in Python coding Describe Python strings and their use cases Describe Python loops, conditionals, operators, and their purposes and use cases Describe Python classes, methods, functions, namespaces, and scopes Describe the options for Python data manipulation and storage Describe Python modules and packages, their uses, and their benefits Explain how to manipulate user input in Python Describe error and exception management in Python Describe Python code debugging methods The Programming for Network Engineers (PRNE) v2.0 course is designed to equip you with fundamental skills in Python programming. Through a combination of lectures and lab experience in simulated network environments, you will learn to use Python basics to create useful and practical scripts with Netmiko to retrieve data and configure network devices. Upon completion of this course, you should have a basic understanding of Python, including the knowledge to create, apply, and troubleshoot simple network automation scripts. Course Outline Introducing Programmability and Python for Network Engineers Scripting with Python Examining Python Data Types Manipulating Strings Describing Conditionals, Loops, and Operators Exploring Classes, Methods, Functions, Namespaces, and Scopes Exploring Data Storage Options Exploring Python Modules and Packages Gathering and Validating User Input Analyzing Exceptions and Error Management Examining Debugging Methods Course Summary
Duration 1 Days 6 CPD hours This course is intended for This course is designed for skilled users of Microsoft Windows and Office who do not have prior coding or programming experience and who are interested in creating custom business apps quickly and without writing application code. Overview In this course, you will use Microsoft Power Apps to build and deploy low-code business apps. You will: Determine how Microsoft Power Apps can meet your business needs. Plan and design apps. Build canvas apps. Build model-driven apps. Test and deploy apps. This course introduces building low-code/no-code apps with Microsoft© Power Apps©. Most out-of-the-box solutions do not meet exact business needs or integrate well with existing business apps. Power Apps eases users into app development with templates, automated app-building tools, and a streamlined programming language to enable any business user to create a custom app. Getting Started with Microsoft Power Apps Topic A: Introduction to Microsoft Power Platform Topic B: Introduction to Power Apps Topic C: Select App Types to Address Business Needs Planning and Designing Apps Topic A: Plan Apps Topic B: Design Apps Building Canvas Apps Topic A: Create an App from a Blank Canvas Topic B: Create an App from a Template Building Model-Driven Apps Topic A: Create Model-Driven Apps Topic B: Add Visualizations and Reports Testing and Deploying Apps Topic A: Make Apps Available to Other Users Topic B: Test Apps Topic C: Revise Apps
Duration 2 Days 12 CPD hours This course is intended for Developers & Developer Consultants Overview Learn simple ABAP codeTrace the flow of a program and troubleshoot simple problems In this course, students will learn simple ABAP code. Basics of ABAP Programming Developing a Simple ABAP Program Introducing ABAP Syntax Implementing a Simple Dialog Customizing the ABAP Editor Coding & Debugging in ABAP Defining Simple Variables Defining Text Symbols Performing Arithmetic Operations Using Simple Variables Using System Variables Debugging a Program Creating an ABAP List Processing Character Strings Current Flow Structures in ABAP Implementing Conditional Logic Implementing Loops Runtime Errors & Error Handling Analyzing Runtime Errors Implementing Error Handling Additional ABAP Programming Techniques Retrieving Data From the Database Describing Modularization in ABAP Using Function Modules Additional course details: Nexus Humans BC100 SAP Introduction to Programming with ABAP 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 BC100 SAP Introduction to Programming with ABAP 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.
Choose this course, if your child is confidently using strings and if statements
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 4 Days 24 CPD hours This course is intended for This in an intermediate level Java development course geared for students experienced with Java 8 or later programming essentials who wish to quickly get up and running with advanced Java skills. This course does not cover Java programming fundamentals. Overview Students will leave this course armed with the required skills to improve their Java applications using sound coding techniques and best practices. This 'skills-centric' course is about 50% hands-on lab and 50% lecture, designed to train attendees in advanced development skills, coupling the most current, effective techniques with the soundest industry practices. Working in a hands-on learning environment, guided by our expert team, attendees will learn to: Develop modular applications in Java Utilize the tooling that is provided in Java 9 to migrate, monitor and optimize applications Use the new JShell tool to quickly test java constructs Understand how the implementation of the String class has been updated to decrease the memory footprint Use the enhancements made to the Concurrency API, working with Completable Future instance of Thread pools Specific Java 9 features that are covered in the course include: The Java Module System (project Jigsaw) JShell Updated try-with-resources Performance enhancements in Java 9 Multi-Release Jar files This fast-track course is designed for experienced developers who have prior working knowledge of basic Java 8 or Java 9 and want to take advantage of the newest features of Java 9 that can help improve performance and functionality of Java 9 applications. You will gain invaluable insight into how to leverage Modules, scale applications into multi-core environments, improve performance, and become a more effective Java 9 developer. Java 9 Updates Review of What is New in Java 9 Milling Project Coin The Java Module system (Jigsaw) Why JigSaw? Introduction to the Module System The Module Descriptor Working with Modules JShell JShell More Java 9 Other New Java 9 Features Performance Optimizations Memory Management (Optional) Multithreading and Concurrency Multithreading Concurrent Java Java 8 Concurrency Updates Reflection and References Introspection and Reflection Reference Objects Effective Java Objects, Declarations, and Initializations Exceptions Writing High-Performance Applications Profiling and Benchmarking Profiling Tools Code Optimization Techniques Code Optimization Myths Design Optimization Techniques
Python for beginners. 30 Hour course over 5 weeks.