Course Offerings

Spring Boot

What you will learn By the end of this course, participants will be able to: Gain a deep understanding of Spring Boot fundamentals and architecture. Develop RESTful APIs and microservices using Spring Boot. Implement data access and persistence with Spring Data JPA. Secure Spring Boot applications and integrate authentication and authorization. Write effective unit tests and integration tests for Spring Boot applications. Monitor, manage, and deploy Spring Boot applications for production. Beneficial for This course is suitable for: Java Developers System Architects Software Engineers Technical Leads Course Pre-requisite Participants should have a basic understanding of: Basic understanding of Java programming language. Familiarity with the Spring Framework is beneficial but not mandatory. Course Outline Module 1: Introduction to Spring Boot Overview of the Spring Boot framework Key features and advantages of using Spring Boot Setting up the development environment for Spring Boot Module 2: Building Your First Spring Boot Application Creating a simple Spring Boot project Understanding the project structure and configuration Running and testing a basic Spring Boot application Module 3: Spring Boot Basics: Configuration and Profiles Externalizing configuration in Spring Boot Working with profiles for environment-specific configurations Customizing and managing properties in Spring Boot Module 4: Spring Boot Data Access with JPA and Spring Data Integrating Spring Boot with JPA for data persistence Implementing data repositories using Spring Data Defining and executing queries with Spring Data JPA Module 5: RESTful Web Services with Spring Boot Building RESTful APIs with Spring Boot Handling requests and responses in Spring Boot Versioning and documentation of RESTful APIs Module 6: Spring Boot and Microservices Architecture Introduction to microservices architecture Creating microservices with Spring Boot Service discovery and communication in microservices Module 7: Spring Boot Security Implementing security features in Spring Boot applications Authentication and authorization with Spring Security OAuth 2.0 and securing RESTful APIs Module 8: Spring Boot Testing Writing unit tests and integration tests in Spring Boot Testing controllers, services, and repositories Using testing tools and best practices Module 9: Spring Boot Actuator and Monitoring Introduction to Spring Boot Actuator Monitoring and managing Spring Boot applications Customizing and extending Actuator endpoints Module 10: Spring Boot Deployment and Production Readiness Packaging and deploying Spring Boot applications Configuring and optimizing for production environments Monitoring, logging, and error handling in production

Read More »

Terraform

What you will learn By the end of this course, participants will be able to: Master Terraform basics, including configuration syntax and resource management. Utilize Terraform modules for efficient and reusable code organization. Manage Terraform state effectively, including remote state and locking. Implement advanced Terraform concepts for environment management. Automate infrastructure deployment using Terraform in CI/CD pipelines. Address security and compliance considerations in Terraform configurations. Beneficial for This course is suitable for: DevOps Engineers System Administrators Infrastructure Engineers Cloud Architects Course Pre-requisite Participants should have a basic understanding of: Basic understanding of cloud computing concepts. Familiarity with infrastructure concepts and terminology. Enthusiasm for automating infrastructure using Terraform. Course Outline Module 1: Introduction to Terraform Overview of Terraform architecture  Obtaining and installing Terraform  Terraform CLI  Infrastructure lifecycle Module 2: Language Components Resources  Terraform Providers – AWS, Microsoft Azure, Google Cloud, On-premise  Modules  Data providers  Patterns for structuring projects  Module 3: Infrastructure as Code Abstracting services and resources  Planning your architecture  Creating Configuration Files  Setting up a simple two-tier AWS architecture  Using Packer to pre-configure Amazon Machine Images (AMIs)  Using Consul for Service DIscovery  Terminating infrastructure with Destroy  Module 4: State Management Mapping real world resources to configurations  Recording metadata  Creating infrastructure plans  Inspecting and modifying state  Module 5: Environment Variables Dealing with Parameters  Key variables (TF_LOG, TF_VAR_name…)  Module 6: Managing Resources Implicit and Explicit Dependencies  Non-dependant Resources  Iterating on Resources  Module 7: Terraform & GitOps Git as the source of truth  Using Terraform to describe deployment  Deploying environments with CI pipelines Module 8: Terraform Test Automation Terratest  Unit Testing Terraform Modules  Module 9: Terraform Security Securing your Terraform Pipeline  System Accounts & Permissions  Terraform Backend configuration  Handling Environments separately  Module 10: Maintenance and Troubleshooting Checking OCI service status  Verbose Logging  Error messages 

Read More »

Tableau

What you will learn By the end of this course, participants will be able to: Gain proficiency in Tableau Desktop for data visualization and analytics. Create a wide variety of visualizations, from basic to advanced. Build interactive dashboards and compelling data stories in Tableau. Utilize advanced analytics features for deeper insights. Integrate Tableau with diverse data sources and automate data processes. Collaborate and share insights using Tableau Server, Online, and Public. Beneficial for This course is suitable for: Data Analysts Business Intelligence Professionals Data Scientists Business Users involved in data analysis Anyone looking to harness the power of Tableau for data visualization. Course Pre-requisite Participants should have a basic understanding of: Basic understanding of data analysis concepts. Familiarity with Microsoft Excel is beneficial. Enthusiasm and curiosity for working with data and creating visualizations. Course Outline Module 1: Introduction to Tableau Benefits of Tableau Use of tableau in the industry Module 2: Field Types & Visual Cues Application terminology and definitions View terminology and definitions Fields on shelves Visual cues for fields Fields in the data window Data terminology and definition Module 3: Data Connections Connecting to Tableau Data Server From the same database, Understand connection options Working with extracts Custom SQL Data Connection Database joins Database blending Understand Kerberos authentication Understanding Performance optimization Parallel query Data engine vectorization Parallel aggregation External query caching Query fusion Tableau Data Interpreter Metadata grid Pivot Module 4: Organizing & Simplifying Data Filtering Sorting Creating a Combined Field Grouping Sets Drilling, Hierarchies Grand Totals, Sub-totals, and Changing Aggregation Bins Module 5: Formatting and Annotations Use spatial analysis Effectively use titles, captions and tooltips (tutorial) Format results with edit axes Formatting Your View Format results with mark labels and annotations Module 6: Special Field Types Date hierarchies (tutorial) Different date parts on different shelves Discrete and continuous date parts Continuous dates Custom dates Define a fiscal year Relative date filtering Date hierarchies and OLAP considerations Module 7: Tableau-generated fields Measure values and names (tutorial) When to use measure values and names Number of records Generated latitude and longitude Module 8: Chart Types Combined or Shared Axis Charts Combo charts – bar and line or mixed mark Geographic mappings and geocoding (tutorial) Scatter plots – scattergraph Cross tabs – text tables or pivot tables Highlight table Motion Charts Heat maps Bins, histograms, calculated bins Motion charts – working with Page Shelf and History Pie charts Bullet graphs Bar in bar Box plots – box and whisker diagram or plot (tutorial) Market Basket Analysis Waterfall Charts Gantt bar chart Module 9 : Calculations Manipulate strings calculations Date Calculations Build arithmetic calculations Work with aggregation options (tutorial) Build logic statements (tutorial) Build grand totals, sub-totals and changing aggregation Create quick table calculations Use automatic & custom split Use Ad-hoc Analytics Module 10: Creating and Using Parameters Creating Parameters Using Parameters and Reference Lines Using Parameters with Filters Module 11: Mapping Modify locations within Tableau Import and manage custom geocoding (tutorial) (kb) Use a background image map (tutorial) (kb) Modifying Geocode Locations within Tableau Use Geographic search Use Map Data & Pan/Zoom Use Lasso & Radial Selection Module 12: Statistics Reference lines Reference bands Reference distributions Trend lines Trend model Statistical summary card Drag & Drop Analytics Instant Analytics Module 13: Dashboards Build dashboards (tutorial) Utilize visual best practices for dashboard design Use options for running actions (kb) URL actions Highlight actions (kb) Filter actions (kb) Create a drill-down report (kb) Sharing Your Work

Read More »

Power BI

What you will learn By the end of this course, participants will be able to: Master the basics of Power BI, including data loading and modelling. Create compelling data visualizations and interactive dashboards. Implement advanced data transformations using Power Query. Develop proficiency in DAX for complex calculations and analysis. Utilize Power BI Service for report sharing and collaboration. Integrate Power BI with external data sources and automate data refresh. Beneficial for This course is suitable for: Data Analysts Business Intelligence Professionals Data Scientists Anyone looking to harness the power of Power BI for data visualization. Course Pre-requisite Participants should have a basic understanding of: Familiarity with Microsoft Excel is beneficial. Basic understanding of data analysis concepts. Course Outline Module 1: Introduction to Power BI Overview of Power BI and its components Setting up Power BI Desktop and Power BI Service Understanding the Power BI ecosystem Module 2: Power BI Products What is Power BI? Examining Power BI Suite of Products Identifying Differences Between Products Understanding Power BI Update Module 3: Power BI Desktop Installing Power BI Desktop Exploring the Power BI Desktop Interface Utilizing File Types; PBIX vs PBIT Examining Data Sources Discussing Data Refresh Understanding Data Types Module 4: Working With CSV, TXT and Excel Worksheets Importing, Transforming, and Loading Data Appending Operations Working with Folders and Files Using Pivot Tables Module 5: Connecting to Databases Working with Relational Data Understanding Relationships Importing from SQL Server Analysis Services Multidimensional and Tabular Module 6: Merging, Grouping, Summarizing, And Calculating Data Understanding the Issues with Merges Performing Merges Grouping Options Summarizing Calculating Module 7: Reporting Creating Reports Utilizing the Matrix Visualization Utilizing the Map Visualization Utilizing the Card Visualization Utilizing the Chart Visualization Utilizing Slicers Publishing to Power BI Online Module 8: Power BI Online Introduction to Power BI Online Importing Data Creating Reports Configuring Dashboards Sharing Reports and Dashboards Exploring Power BI Mobile

Read More »

Java Programming

What you will learn By the end of this course, participants will be able to: Master the fundamentals of Java programming Understand and apply object-oriented principles in Java. Proficiently use Java Collections and handle file operations. Develop multithreaded applications and manage concurrency. JDBC Cocepts Java 8 Features Beneficial for This course is suitable for: Software Developers Beginners in Java programming Course Pre-requisite Participants should have a basic understanding of: Basic knowledge of computers Basic Programming knowledge (Preferable C/C++ Course Outline Module 1: Java technology overview Components that make up the Java programming language  Java Features  Java development tools  Different deployment architectures  Java language syntax  Construct statements in Java  Module 2: Compiling and Running a Simple Program Java Platform  Setting Up Your Computer  Writing a Program  Compiling the Program  Interpreting and Running the Program  Module 3: Flow Control in Java Decision making flows  if-else blocks  switch-case blocks  Iterative flows  while loop  do-while loop  for loop  Module 4: Java development environment JRE  JDK  JVM  Classpath Path  Module 5: Object Oriented Programming using Java Class, method, properties  Creating Objects  Constructors  Constructor Overloading  Method Overloading  The this keywords  Packages  Access specifiers  import keyword  Life Cycle of an Object  Java memory management  Garbage Collection  Module 6: Inheritance and Polymorphism Inheritance in Java  Inheriting classes  Overriding methods  Creating Abstract classes, interfaces and methods Module 7: Other Class Features Create static variables, methods, and initializers  Create final classes, methods, and variables  Create and use enumerated types  Use the static import statement  Arrays of primitives  Arrays of objects  Enhanced for loop  Module 8: Classes in Java Object class  Overview of java.util.lang package  String class  Date class  Calendar class  Stringbuffer class  Using string classes  Scanner   Module 9: Exceptions/Error Handling Define exceptions  Use try, catch, throw, throws and finally statements  Describe exception categories  User Defined exceptions  Module 10: Collections and Generics Framework Collections framework  Legacy collection classes  Comparable and Comparator interfaces  Use generic collections  Use type parameters in generic classes  Module 11: I/O Fundamentals Command-line arguments  Properties class  Serialize and deserialize objects  Distinguish readers and writers from streams  Describe files and file I/O  Module 12: Java Database Connectivity (JDBC)  Introduction to JDBC API  Understanding JDBC Interfaces  Connection  Statement  PreparedStatement  ResultSet  Create, Read, Update & Delete Queries  Fetching of results   Module 13: MultiThreading Thread class  Runnable interface  Thread states  Sleep() and yield() methods  Synchronization in threads  Module 14: Java 8 Features Functional Interfaces  Lambdas  Stream API  Date/ Time API  Default and static methods  Method References 

Read More »

Automation Testing

What you will learn By the end of this course, participants will be able to: Develop a robust test automation strategy and framework. Automate web, mobile, API, and performance testing. Integrate automated tests into continuous integration pipelines. Gain proficiency in advanced automation testing topics. Acquire the skills needed for efficient and effective software testing in agile and DevOps environments. Beneficial for This course is suitable for: Test Automation Engineers QA Engineers and Analysts Software Developers involved in testing Quality Assurance Professionals Anyone seeking expertise in automated software testing. Course Pre-requisite Participants should have a basic understanding of: Basic understanding of software testing concepts Familiarity with at least one programming language (e.g., Java, Python). Knowledge of basic testing tools and techniques (beneficial but not mandatory). Course Outline Module 1: Getting Started Software Automation  Selenium Overview  Environment Configuration  Maven Project  Module 2: WebDriver Functionality Instantiating a WebDriver – Chrome  An Overview of Frequently Used Methods  Controlling the Browser Window  Module 3: WebElement Functionality Using Browser Developer Tools – Chrome  Overview of WebElement Functionality  Interacting with Elements on a Page  Element Locator Types – ID, Names, XPath, CSS, and So On  Module 4: Advanced Element Location Navigating the DOM  Searching Within Previously Found Elements  Creating Complex Locators to Reach Any Element Module 5: Waiting for Elements Implicit Waits  Explicit Waits  Implicit Versus Explicit Waits  Waiting for an Element with a Custom Written Condition Module 6: Page Object Model Introduction to the Page Object Model  Modelling a Web Application Using Page Objects  Implementing Nested Page Object Instances  Module 7: Introduction to K8s on cloud K8s as a platform on cloud. Introduction to EKS, AKS, & GKS

Read More »

Ansible

What you will learn By the end of this course, participants will be able to: Understand the fundamental concepts of configuration management and automation. Master Ansible playbooks, roles, and modules for effective automation. Secure sensitive data using Ansible Vault and implement best practices. Extend Ansible functionality through dynamic inventories, plugins, and external integrations Integrate Ansible with cloud services and manage cloud infrastructure. Explore advanced topics such as network automation, Docker(Container) management, and performance optimization. Explore advanced topics such as network automation, Docker(Container) management, and performance optimization. Beneficial for This course is suitable for: DevOps Engineers System Administrators IT Professionals involved in automation and orchestration Cloud Administrators Anyone seeking proficiency in Ansible for IT automation Course Pre-requisite Participants should have a basic understanding of: Participants should have an understanding of Linux system administration Familiarity with the command line interface Basic knowledge of YAML syntax (beneficial but not mandatory) Course Outline Module 1: Introduction to Ansible Describe Ansible concepts Install  Ansible Engine. Module 2: Deploy Ansible Configure Ansible to manage hosts  Run ad hoc Ansible commands Module 3: Implement playbooks Write a simple Ansible Playbook Run it to automate tasks on multiple managed hosts. Module 4: Manage variables and facts Write playbooks that use variables to simplify management of the playbook Facts to reference information about managed hosts.  Module 5: Implement task control Manage task control, handlers, and task errors in Ansible Playbooks.  Module 6: Deploy files to managed hosts Deploy, manage, and adjust files on hosts managed by Ansible.  Module 7: Manage large projects Write playbooks that are optimized for larger, more complex projects. Module 8: Simplify playbooks with roles Use Ansible roles to develop playbooks more quickly and to reuse Ansible code.  Module 9: Troubleshoot Ansible Troubleshoot playbooks and managed host Module 10: Automate Linux administration tasks Automate common Linux system administration tasks with Ansible

Read More »

Android Application Development Course with Kotlin and Java 

What you will learn By the end of this course, participants will be able to: Have a strong understanding of Android development using Kotlin and Java. Be proficient in designing interactive user interfaces and implementing functionality. Possess the skills to handle data storage, network requests, and integrate APIs into your Android apps Know how to debug and optimize your code for performance. Be ready to deploy your own Android applications to the Google Play Store. Beneficial for This course is suitable for: Aspiring Android Developers Programmers looking to transition to Android development Entrepreneurs and Product Managers interested in understanding Android app development Anyone wishing to create their own Android applications Course Pre-requisite Participants should have a basic understanding of: Participants should have a programming knowledge (any language) Familiarity with the Java programming language is a plus Eagerness to learn and passion for creating Android applications Course Outline Module 1: Introduction to Android Development Overview of the Android ecosystem  Introduction to Kotlin programming language  Setting up Android Studio, the official IDE for Android development  Module 2: User Interface Design with XML Understanding XML layout files  Designing responsive and interactive user interfaces  Connecting UI elements to Java and Kotlin code  Module 3: Kotlin Programming Basics Variables, data types, and basic syntax  Control flow and loops in Kotlin  Functions and object-oriented programming concepts  Module 4: Building Your First Android App Creating a new Android project  Implementing basic functionality  Testing and debugging your app  Module 5: Activities and Fragments Understanding the role of activities and fragments  Navigation between activities and fragments  Communicating between activities and fragments  Module 6: Data Storage and Persistence Saving data with SharedPreferences  Working with SQLite databases  Introduction to Room for more advanced data persistence  Module 7: Networking and APIs Making network requests with Retrofit  Parsing JSON data  Integrating data from web services into your app  Module 8: Advanced Topics Multithreading and background processing  Implementing animations and transitions  Introduction to Jetpack Compose for UI development Module 9: Testing and Debugging Writing unit tests with JUnit and Espresso  Debugging techniques and tools  Performance optimization strategies  Module 10: Deployment to Google Play Store Creating a signed APK for distribution  Preparing app listing and assets for the Play Store  Uploading and publishing your app on Google Play 

Read More »

Camunda BPM

What you will learn By the end of this course, participants will be able to: Understand the fundamentals of BPM and the role of Camunda in business process automation. Effectively model business processes using BPMN 2.0 with Camunda Modeler. Implement and execute business processes using Camunda, including decision automation with DMN Manage user tasks, forms, and external tasks within Camunda. Apply best practices for error handling, compensation, and monitoring in Camunda. Develop a comprehensive understanding of Camunda deployment strategies. Beneficial for This course is suitable for: Business Analysts Process Designers IT Professionals System Architects Course Pre-requisite Participants should have a basic understanding of: Strong understanding of business processes Familiarity with BPMN (strongly recommended) Java programming (recommended but not mandatory) Course Outline Module 1: Introduction to BPM and Camunda The role of BPM in modern enterprises Camunda BPM platform overview and architecture Significance of Camunda in business process orchestration Module 2: Installation and Configuration Installation and setup of Camunda in various environments Configuration for optimal performance and scalability Security considerations and best practices Module 3: BPMN Process Modeling Mastery In-depth understanding of BPMN and its application in Camunda Advanced modelling techniques for complex business processes Best practices for creating modular and maintainable process models Module 4: Deploying and Managing Processes Comprehensive deployment strategies for diverse environments Version control, rollbacks, and release management Monitoring and managing deployed processes effectively Module 5: Advanced Execution Strategies Managing complex process instances and executions Dynamic process behaviors and conditional flows Utilizing process variables for data handling Module 6: Human Task Management Modeling and optimizing user tasks in BPMN Integrating user tasks with external systems and services Advanced user interface customization for task forms Camunda Cockpit Mastery In-depth exploration of Camunda Cockpit for process monitoring Administering and managing Camunda instances at scale Configuring Cockpit for customized reporting and analytics Module 8: Advanced Topics in Camunda Event-driven architectures and message correlation Error handling, compensation, and transaction management Implementing parallel and sequential process flows efficiently Module 9: Integration with Enterprise Systems Integrating Camunda with Java-based enterprise applications Utilizing Spring Boot for seamless integration Customizing and extending Camunda functionalities for specific business needs Module 10: Camunda Best Practices and Optimization Designing high-performance and scalable processes Optimization strategies for improving execution speed Effective troubleshooting and debugging techniques in Camunda   

Read More »

React Native

What you will learn By the end of this course, participants will be able to: In-depth knowledge and hands-on experience in developing cross-platform mobile applications using React Native. Coverage of the entire spectrum of React Native development, including fundamental concepts and advanced techniques. Emphasis on real-world application, allowing participants to apply their knowledge to practical scenarios. Industry-relevant skills to meet the demands of the evolving mobile app development industry. Empowering participants to build robust and efficient mobile applications. Beneficial for This course is suitable for: Ideal for Mobile App Developers, Frontend Developers, and UI/UX Designers. Accommodates learners at various skill levels, with prior experience in JavaScript and React being beneficial. Recommended for individuals interested in cross-platform mobile application development. Course Pre-requisite Participants should have a basic understanding of: Basic understanding of JavaScript and React Familiarity with mobile app development concepts (iOS and Android) Experience with frontend development is advantageous but not mandatory Course Outline Module 1: Introduction to React Native Overview of React Native and its architecture Advantages of cross-platform mobile development Setting up the development environment for React Native Module 2: Building Your First React Native App Creating a simple React Native project Understanding the structure of a React Native application Navigating the React Native development environment Module 3: React Native Components and Styling Exploring React Native components Styling and theming in React Native Responsive design principles for cross-platform development Module 4: Navigation in React Native Navigating between screens using React Navigation Tab navigation, stack navigation, and drawer navigation Implementing deep linking and navigation pattern Module 5: State Management and Data Handling Managing component state in React Native Fetching and handling data from APIs Implementing state management libraries (e.g., Redux, MobX) Module 6: UI/UX Best Practices in React Native Design principles for mobile applications Animation and gestures in React Native Accessibility and usability considerations Module 7: Integrating Native Modules and APIs Accessing native device features (camera, sensors, etc.) Integrating third-party libraries and APIs Bridging between React Native and native modules Module 8: Testing and Debugging in React Native Testing strategies for React Native applications Debugging techniques for identifying and fixing issues Performance optimization and profiling Module 9: Deployment and Continuous Integration Building and packaging React Native apps for iOS and Android Deploying apps to app stores (Google Play Store, Apple App Store) Implementing continuous integration and delivery pipelines Module 10: Advanced Topics in React Native Advanced performance optimization strategies Offline capabilities and data synchronization Exploring the future of React Native and emerging trends

Read More »

Don't Hesitate to Contact Us