Public Sector

We've had the pleasure of working with UK and overseas central and local government departments, including Healthcare (NHS and Foundation Trusts), Defence, Education (Universities and colleges), many of the main Civil Service departments, Emergency Services; also public-owned corporations including the BBC, Bank of England, Ordnance Survey, and regulatory bodies such as Ofgem.

We are registered on Crown Commercial Service’s (CCS) Dynamic Purchasing System (RM6219 Training and Learning) and also with numerous tender portals such as Ariba, Coupa and Delta E-Sourcing.

Read more...

Graduate Training Schemes

Framework Training has a strong track record of providing a solid introduction into the working world for technical graduates across myriad industries. We provide the opportunity to learn and gain valuable hands-on experience in a supportive, friendly and sociable training environment.

Attract & retain the brightest new starters

We know it is vital for our clients to invest in the future of their talented grads; not only to provide them with high-quality, professional training essential for their roles, but to embed them within the organisation’s culture and guide them on the right path to a successful career.

After all, your new hires could well be the next leaders and their creative ideas and unique insights are invaluable to your business.

Read more ...

Learning & Development

Our unique portfolio of high-quality technical courses and training programmes are industry-respected. They’re carefully designed so that delegates can seamlessly apply what they’ve learnt back in the workplace. Our team of domain experts, trainers, and support teams know our field — and all things tech — inside out, and we work hard to keep ourselves up to speed with the latest innovations. 

We’re proud to develop and deliver innovative learning solutions that actually work and make a tangible difference to your people and your business, driving through positive lasting change. Our training courses and programmes are human-centred. Everything we do is underpinned by our commitment to continuous improvement and learning and generally making things much better.

Read more...

Corporate & Volume Pricing

Whether you are looking to book multiple places on public scheduled courses (attended remotely or in our training centres in London) or planning private courses for a team within your organisation, we will be happy to discuss preferential pricing which maximise your staff education budget.

Enquire today about:

  • Training programme pricing models  

  • Multi-course voucher schemes

Read more...

Custom Learning Paths

We understand that your team training needs don't always fit into a "one size fits all" mould, and we're very happy to explore ways in which we can tailor a bespoke learning path to fit your learning needs.

Find out about how we can customise everything from short overviews, intensive workshops, and wider training programmes that give you coverage of the most relevant topics based on what your staff need to excel in their roles.

Read more...

Intro to Kotlin Training Course

Learn Kotlin. Build anything.

About the course

This Kotlin training course equips you with the essential language skills, syntax, and best practices to excel in modern, cross-platform development.

You'll learn to write effective, idiomatic Kotlin code and harness its seamless Java interoperability for JVM applications, native Android development (using Android Studio), and JavaScript compilation.

This course provides the core knowledge to create and deploy multiplatform Kotlin apps and can be combined with other courses, such as our Kotlin for Android course and/or Spring Boot with Kotlin course to build a comprehensive training programme for people new to both technologies.

Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.

    • Write idiomatic Kotlin code.
    • Set up a Kotlin development environment.
    • Understand Kotlin's syntax and core concepts.
    • Create Kotlin classes and objects.
    • Implement flow control and handle nullability in Kotlin.
    • Apply inheritance and abstraction in Kotlin.
    • Work with collections and generics in Kotlin.
    • Define and use functions, including higher-order functions.
    • Structure Kotlin projects with packages.
    • Develop cross-platform Kotlin applications
  • This course is perfect for software developers who want to expand their skills and learn Kotlin for building cross-platform applications.

  • This course is designed for software developers with existing experience in a language such as Python, JavaScript, Java, or C#, who want to gain a solid foundation in Kotlin for modern application development.

    We would be happy to adapt and incorporate this course into a training programme for non-coders (for instance, as part of a graduate scheme for STEM students) - please get in touch to discuss your learning goals.

  • This Kotlin course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).

    Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.

  • Course Overview

    • Introduction to the course

    • Course Outline

    • Introductions

    Introduction to Kotlin

    • Kotlin Environment and the JVM

    • Android Studio Environment

    • Setting up an Android Studio Project

    • Kotlin Hello World program

    • Comments, Annotations

    Lab: Hello World in Kotlin using Android Studio

    Kotlin Classes

    • Class definitions

    • Constructors, named constructor parameters, default values

    • Secondary Constructors

    • Simple Properties

    • Instance Creation

    • Member Functions

    • Function Named Parameters

    • Function Default Parameters

    • Function Vararg Parameters

    • Functions returning Values

    • Converting instances to Strings

    Lab: Books and Bookshop app in Kotlin using Android Studio

    Objects, flow of control and Further Properties

    • Objects

    • Companion Objects

    • Flow of control

    • Self reference: This

    • Accessing Masked properties

    • Properties and their Types

    • Property Visibility

    • Property Declaration Modifiers

    • Custom property functions

    • Nullability

    • Nullable Operators

    • Lazy properties

    • Instance Equality

    • Curly Bracket Syntax

    Lab: Adding behaviour to the Bookshop

    Inheritance

    • Inheritance in Kotlin

    • Implementing Inheritance

    • Rule for overriding functions

    • Overriding Properties

    • Rules for Polymorphic variables

    • Casting and Inheritance

    • The super variable

    • Constructors and Inheritance

    Lab: Defining Inheritance for Book class

    Abstract classes and Interfaces

    • Abstract Classes

    • Defining an Abstract Class

    • Declaring abstract functions

    • Extending an Abstract Class

    • Interfaces as Contracts

    • Interfaces in Kotlin

    • Interface Definitions

    • Implementing Interfaces

    • Delegation

    Lab: abstract classes and interfaces

    Further Classes

    • Four Types of Nested Classes

    • Nested classes

    • Member Inner Classes

    • Method Inner Classes

    • Anonymous Classes / Objects

    • Sealed Classes

    • Inline classes

    • Data Classes

    • Data Classes and Destructuring Declarations

    • Operators

    • Infix Member Functions

    • Enumeration support

    • Kotlin Annotations

    Lab: Implementing Data classes

    Containers and Generics

    • Arrays

    • Collections Library

    • Mutable and Immutable (read-only) collections

    • Sets, Lists and Maps

    • Pairs and Triples

    • Collection iteration

    Lab 7: Working with Containers

    Functions

    • What is Functional Programming?

    • Kotlin as a Functional Language

    • Defining Functions

    • Function Objects

    • Function Definitions

    • Named Functions, Single Expression & Inline functions

    • Anonymous Functions and Lambdas

    • Callable References

    • Closures

    • Functions and Methods

    • SAM Interfaces

    • Coroutines & Asynchronous Programming

    Lab: Functions

    Higher Order Functions and Extension Functions

    • Higher Order Functions Introduction

    • Functions as Parameters

    • Using Typealias for function types

    • Functions as Return types

    • Collections & FP: foreach

    • Scope functions (apply, let, also, run and with)

    • Conditional functions (takeIf, takeUnless)

    • Extensions

    • Extension Functions and Extension properties

    • Infix Extensions

    • Looping over Collections

    • Sorting Collections

    • Grouping, Folding, Reducing and Zipping Collections

    Lab: Processing containers using higher order functions

    Packages and Project Structuring

    • What is a Package?

    • K2 - the Kotlin Compiler

    • Importing

    • Kotlin Default Imports

    • Visibility Modifiers

    • Visibility Modifiers and Constructors

    • Kotlin Modules

    • Multiplatform deployment considerations

    Exception Handling

    • Errors & Exceptions

    • Exception types in Kotlin

    • Part of the Exception Hierarchy

    • Exception Handling

    • Kotlin and Checked Exceptions

    • Try-Catch Expressions

    • Finally and returned values

    • Defining New Exceptions

    • Chained Exceptions

    Lab: Adding Exception handling to the bookshop

Trusted by

BBC logo University of Glasgow logo/crest Crown Commercial Service Supplier (CCS) logo

Public Courses Dates and Rates

Please get in touch for pricing and availability.

Related courses