Kotlin for iOS and Android Development Training Course

Kotlin Training Courses

Duration

35 hours (usually 5 days including breaks)

Requirements

  • Experience in Java programming
  • Basic experience or familiarity with Android development
  • Experience with Swift programming

Overview

Kotlin is a modern, functional and object-oriented programming language based on Java.

In this instructor-led, live training, participants will learn Kotlin programming as they step through the creation of an Android and iOS app using Kotlin.

By the end of this training, participants will be able to:

  • Understand the fundamentals of programming in Kotlin
  • Code their own Kotlin application
  • Build, test, deploy, and troubleshoot Android and iOS apps using Kotlin

Audience

  • Developers

Format of the course

  • Part lecture, part discussion, exercises and heavy hands-on practice

Note

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Setting Up the Tools for Kotlin

  • Using the Command Line Tools
  • Installing the JDK for Kotlin
  • Installing and Setting Up the IDE: IntelliJ
  • Installing the Plugins

Getting Started with Kotlin and the Kotlin Syntax

  • Learning the Kotlin Architecture
  • Learning the Kotlin Syntax
  • Using Key Features of Kotlin

Object-Oriented Programming with Kotlin

  • Overview of Programming with Objects
  • Creating a Class
  • Adding Methods to Classes
  • Defining Basic Constructors
  • Using Named Parameters and Default Values
  • Using Open Classes to Allow Inheritance
  • Using Abstract Classes
  • Creating and Using Interfaces
  • Handling Overriding
  • Creating Data Classes
  • Using Singletons and Companion Objects
  • Using Enumerations
  • Grouping Classes into Packages
  • Using Imports
  • Implementing Information Hiding
  • Using Getters and Setters
  • Implementing Visibility Modifiers
  • Understanding Generics
  • Implementing a Generic Stack
  • Using Generic Functions

Android App Development Using Kotlin

  • Setting Up the Tools for Android Development
    • Installing Android Studio
    • Starting a New Project
    • Setting Up the Emulator
    • Setting Up the Library
  • Setting Up Kotlin in Android
  • Working with the Hello Android Framework and Android SDK Tools
  • Developing an Android App Using Kotlin
    • Using ListActivity and ListView
    • Using Intents and Intent Filters
    • Working with Custom Views
    • Using Layout Managers
    • Handling Web Services and API’s
    • Dealing with Android Services
    • Working with SQLite Database
    • Using Content Providers
    • Writing Adapters
    • Implementing Dialogs and Alerts (Toasts)
    • Designing Your UI
      • Options and Context Menus
      • WebView
    • Implementing Android Notifications
  • Building a Customized Responsive Android App Using Kotlin
  • Publishing Your Android Application to Google PlayStore

iOS App Development Using Kotlin

  • Overview of XCode 9 Features and Architecture
  • Overview of Swift 4 Features and Architecture
  • Comparing Similarities and Differences of Kotlin and Swift
    • Basics
    • Arrays
    • Dictionaries
  • Working with Web Services
  • Performing Data Management
  • Working with Variables, Constants, and Swift Data Types
  • Optimizing the iOS User Experience through UX and UI Design
  • Adding User Interaction for Improved User Experience
  • Optimizing Performance
  • Debugging an iOS App
  • Building a Customized Responsive iOS App Using Kotlin
  • Publishing Your iOS Application to the Apple AppStore

Troubleshooting

Summary and Conclusion

Serverless Cloud Based Mobile and Web Development with Firebase Training Course

Duration

28 hours (usually 4 days including breaks)

Requirements

  • An understanding of mobile or web applications and cloud technologies.
  • Experience with developing mobile or web applications.
  • Java, Swift or JavaScript programming experience.

Audience

  • Mobile or web application developers.

Overview

This instructor-led, live training (online or onsite) is aimed at mobile and web developers who wish to use Firebase to build serverless cloud based Android, iOS or web applications.

By the end of this training, participants will be able to:

  • Install and configure Firebase into an Android, iOS or web application.
  • Manage and authenticate application users. 
  • Access cloud based resources directly from client applications.  
  • Obtain usage and performance metrics from applications. 

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request customized training for this course, please contact us to arrange.
  • To learn more about Firebase, please visit: https://firebase.google.com.

Course Outline

Introduction

Firebase is a suite of over 25 tools which can easily be integrated into a Google Cloud Platform project. It provides APIs for developing Android and iOS mobile applications and web applications. It provides tools for developing high performance applications. Simple API calls allow complex operations, such as data persistence, to be performed without complex programming. It allows front end developers to develop complete Serverless applications. It provides tools for monitoring application performance. Analytics allow the usage of an application to be analyzed to identify how to achieve the best business value.

This program makes use of hands-on workshops which demonstrate how to make the best use of Firebase to develop, monitor and analyze applications. Delegates are invited to Bring Your Own Code for the workshops. The duration of the program depends on the level of coverage required.

The program is customizable to meet your needs. An overview will be given for each Firebase feature. In depth coverage with code examples are available for all features on demand. Choose whether code examples are required for Android, iOS and/or Web.

Setting up a Firebase development environment.

Delegates should bring a laptop which has the necessary software installed to developan Android, iOS or web application. Ideally the laptop will also have existing Android, iOS or web application code. A Google Cloud Platform account is required. An Apple developer account is required for iOS development. Setup instructions will be provided.

Getting Started with Firebase

  • What is Firebase?
  • Firebase components.
  • Supported languages and platforms.
  • Google Cloud Platform projects.
  • Adding Firebase to a project.
  • The Firebase console.
  • Overview of Firebase Features

Firebase Platform Support

  • Android applications.
  • iOS applications.
  • Web applications using the JavaScript SDK.
  • Firebase administration applications.
  • Workshop: Start building an Android, iOS or web Firebase application.

Firebase Authentication

  • Firebase SDK authentication API.
  • Email address and password authentication.
  • Federated identity provides: Google, Facebook, Twitter, Github.
  • Phone number identification via SMS.
  • Custom authentication.
  • Authorization.
  • Workshop: Add Firebase authentication to the application.

Cloud Firestore

  • Cloud realtime data synchronization solutions.
  • Comparison of Cloud Firestore, Realtime Database and Cloud Datastore.
  • Structuring data.
  • Client local storage.
  • Accessing data.
  • Security and data validation.
  • Querying data.
  • Workshop: Implement Cloud Firestore or Realtime Database.

Cloud Storage

  • Google Cloud Storage.
  • Security and file transfer.
  • Storing images, audio, video and other content.
  • Access content in the cloud.
  • Configuration options.
  • Workshop: Implement Cloud Storage.

Firebase Hosting

  • Firebase hosting principles.
  • Using custom domain names.
  • Uploading content with Firebase CLI.
  • Server certificates.
  • Workshop: Implement Firebase Hosting.

Cloud Functions

  • Function as a Service (FaaS).
  • Firebase and Cloud Functions.
  • Cloud Event Triggers
  • HTTP Triggers
  • Writing and deploying JavaScript or Python functions.
  • Workshop: Creating Cloud Functions.

Cloud Run

  • Containers and Orchestration.
  • Cloud Run principles.
  • Managed Cloud Run and IAM.
  • Workshop: Using Cloud Run.

Performance Monitoring

  • Measuring startup time and network traffic.
  • Performance metrics.
  • Capturing performance using traces.
  • Creating custom metrics.
  • Workshop: Enable Performance Monitoring.

Firebase Cloud Messaging (FCM)

  • FCM notification messages.
  • FCM data messages.
  • Admin SDK.
  • HTTP and XMPP APIs.
  • Notifications composer.
  • Workshop: Use Firebase Cloud Messaging.

Remote Config

  • Application configuration parameters.
  • Customizing applications by demographics or analytics.
  • Instrumenting the application.
  • Policies and limits of remote configuration.
  • Workshop: Using Remote Config.

Marketing Applications

  • Predictions.
  • Firebase A/B Testing.
  • In-App Messaging.
  • Dynamic Links.
  • App Indexing.

Google Analytics for Firebase and Crashlytics

  • Analytics principles.
  • Crashlytics and analytics.
  • Tracking, prioritizing and fixing application stability issues.
  • Reporting events in an application.
  • Defining audiences by usage and demographics.
  • Understanding how applications are being used.
  • Custom events and monitoring.
  • Integration with other services.
  • Workshop: Using Analytics and integrating with other services.

SQL Development Bootcamp Training Course

Duration

35 hours (usually 5 days including breaks)

Requirements

  • Familiarity with database management and database management systems

Audience

  • Beginners
  • Programmers
  • Database admins

Overview

The SQL Development Bootcamp provides comprehensive lessons for SQL development. Topics covered include database design techniques, data manipulation, and simple and complex query methods.

This instructor-led, live training (online or onsite) is aimed at beginners, programmers, and database administrators who wish to learn or improve their SQL development skills and knowledge.

By the end of this training, participants will be able to install, create, manage, manipulate, and monitor databases using SQL and database management systems.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction to SQL Development Bootcamp

Overview of SQL Development

  • Data and databases
  • Database management systems (DBMS)
  • SQL key concepts

Getting Started with SQL Databases

  • Installing DBMS software
  • Initial configuration
  • Connecting existing databases
  • Database development methodology

Exploring SQL Statement Fundamentals

  • Data definition language statements
  • Transaction control statements
  • Session and system control statements
  • Embedded SQL statements

Working with SQL Data

  • Filtering data
  • Comparison and logical operators
  • Sorting data
  • Row limiting clause
  • Substitution variables
  • Define and verify commands

Using Single Row, Group, Conversion, and General Functions

  • Character functions
  • Numeric and date functions
  • Conversion functions
  • Case and decode functions
  • Distinct and null values
  • Group by clauses
  • Having clauses

Working with SQL Join Clauses

  • Inner join
  • Non-equijoin
  • Outer join
  • Cross join

Using Subqueries and SET Operators

  • Single row subqueries
  • Multi row and multi column subqueries
  • SET operators
  • Correlated subquery
  • Data manipulation with subqueries

Creating Databases and Tables

  • Data types
  • Primary and foreign keys
  • Constraints
  • Table actions (create, insert, update, delete)
  • Data dictionary views
  • Conditional expressions

Working with Views, Sequences, Synonyms, and Indexes

  • Creating and querying views
  • Creating and modifying sequences
  • Creating synonyms
  • Creating indexes

Managing Schema Objects

  • Constraints management
  • Temporary tables
  • External tables

Controlling User Access

  • System privileges
  • Object privileges
  • Roles
  • Revoking privileges

Managing Data in Different Time Zones

  • Interval data types
  • Time functions

Troubleshooting

Summary and Conclusion

Oracle SQL for development and database management Training Course

Duration

35 hours (usually 5 days including breaks)

Overview

This 5-day course demonstrates how to use Oracle SQL for database development and database management.

Course Outline

Database Development

  • Recapping the basic principles behind relational databases
    • Concepts and terminology     
  • Retrieving data using the SELECT statement
  • Using simple and more complex JOINS to retrieve data from multiple tables
    • SELF, INNER and OUTER joins
  • Restricting and sorting data, conditional expressions
    • Single row functions: string, date and time manipulation
    • IF-THEN-ELSE statements
  • Conversion of data between types
  • Creating aggregated reports
  • Using correlated and uncorrelated subqueries in SELECT statements
  • Retrieving and manipulating data using subqueries
  • Running Data Manipulation Statements in Oracle to manage database transactions
  • Query optimisation and efficiency

Database Management

  • The Oracle Data Dictionary: introduction and usage
  • Creating views, indexes, constraints and synonyms
  • Controlling and revoking user access to schema objects (tables, views)
  • Managing indexes and constraints

MERN Fullstack Development Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • A basic understanding of JavaScript

Audience

  • Web Developers

Overview

The MERN Stack is a collection of web development software, namely MongoDB, Express, React, and Node.js. The MERN Stack provides an end-to-end framework for developers to build and deploy fullstack web applications.

This instructor-led, live training (online or onsite) is aimed at web developers who wish to use the MERN Stack for fullstack development.

By the end of this training, participants will be able to:

  • Integrate React with MongoDB, Express, and Node.js.
  • Build a fullstack web application from scratch.
  • Implement application security through authorization and authentication.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Fullstack Development and the MERN Stack

  • What is the MERN Stack?
  • Frontend vs backend development
  • REST vs GraphQL

Preparing the Development Environment

  • Installing and configuring React
  • Installing and configuring Express
  • Installing and configuring Node
  • Installing and configuring MongoDB

Frontend Development with React

  • Setting up pages and routes
  • Adding components
  • Working with React hooks

REST API Development with Node and Express

  • Implementing routing
  • Handling errors
  • Using Postman

Backend Development with MongoDB

  • Creating a schema and model
  • Adding, updating, and deleting data

Frontend to Backend

  • Sending requests to the backend
  • Creating custom hooks

Authorization and Authentication

  • Generating, storing, and managing tokens
  • Creating an authentication hook

Deployment

  • Deploying with Heroku

Troubleshooting

  • Debugging and error handling

Summary and Conclusion

PostgreSQL Administration and Development Training Course

Duration

28 hours (usually 4 days including breaks)

Requirements

A working knowledge of SQL and C

Basic system administration (Unix/Linux or Windows)

Overview

This course handles the administration and performance tuning of PostgreSQL databases. Attendees will learn the use of specialised PostgreSQL (AKA Postgres) modules such as replication, connection pooling and full text searching.

Course Outline

What is PostgreSQL?

  • A Brief History of PostgreSQL
  • Conventions
  • Further Information
  • Bug Reporting Guidelines

Introduction to PostgreSQL

  • Installation and Creating Database
  • The SQL Language
  • Advanced Features

The SQL Language

  • SQL Syntax
  • Data Definition
  • Data Manipulation
  • Queries
  • Data Types
  • Functions and Operators
  • Type Conversion
  • Indexes
  • Full Text Search
  • Concurrency Control
  • Performance Tips

Server Administration

  • Installation from Source Code
  • Installation from Source Code on Windows
  • Server Setup and Operation
  • Server Configuration
  • Client Authentication
  • Database Roles
  • Managing Databases
  • Localization
  • Routine Database Maintenance Tasks
  • Backup and Restore
  • High Availability, Load Balancing, and Replication
  • Recovery Configuration
  • Monitoring Database Activity
  • Monitoring Disk Usage
  • Reliability and the Write-Ahead Log
  • Regression Tests

Client Interfaces

  • libpq – C Library
  • Large Objects
  • ECPG – Embedded SQL in C
  • The Information Schema

Server Programming

  • Extending SQL
  • Triggers
  • The Rule System
  • Procedural Languages
  • PL/pgSQL – SQL Procedural Language
  • PL/Tcl – Tcl Procedural Language
  • PL/Perl – Perl Procedural Language
  • PL/Python – Python Procedural Language
  • Server Programming Interface

Internals

  • Overview of PostgreSQL Internals
  • System Catalogs
  • Frontend/Backend Protocol
  • PostgreSQL Coding Conventions
  • Native Language Support
  • Writing A Procedural Language Handler
  • Writing A Foreign Data Wrapper
  • Genetic Query Optimizer
  • Index Access Method Interface Definition
  • GiST Indexes
  • GIN Indexes
  • Database Physical Storage
  • BKI Backend Interface
  • How the Planner Uses Statistics