Training at Compositional IT

Ensuring that your development team understands a technology, tool or platform to a high standard can lead to huge cost savings. The cost of not using a technology or tool correctly can lead to high costs of development, or even worse, systems that do not perform correctly.

At Compositional IT, we have a great deal of experience in training software developers in a wide variety of areas, from low-level development practices to high-level technology platforms. We can work on-site, embedded within your development team, or work in a dedicated off-site location that we provide.

Our courses(click to expand)

This course explores the F# programming language and ecosystem to students who are familiar with the .NET framework and are already users of C# or VB .NET. The course will begin by introducing users to F# and Functional Programming in general, dealing with the “why” and “where”. Students will work through a number of code-first scenarios using Visual Studio 2015 that will give the student a firm understanding in the fundamentals of the language and Visual Studio tooling, as well as the confidence to explore more of the language themselves. Labs will be intermixed with examples and use-cases for solving problems using F#.

Topics covered include: -

  • Introduction to F#
  • F# and Visual Studio
  • F# Fundamentals
  • Functions and Data
  • Program Flow
  • Working with Collections
  • F# and C# interop
  • Exploring data with Type Providers
  • Data Driven Web APIs in F#
  • Unit Testing in F#

Online Course

This course is now also available as an online e-course at Opsgilty where you can explore content, download source code and learn F# at your own pace.

  • Duration: 2 days
  • Level: 200
  • Pre-requisites skills: C# / VB .NET, Visual Studio

This course introduces the delegate to some of the core concepts of cloud through practical, hands-on tutorials and demonstrations. The course will sign up the user to the Microsoft Azure cloud platform, and introduce to the user some of the core concepts of both cloud programming as well as the Microsoft Azure platform. Use of functional paradigms and practices will be emphasised throughout.

Topics covered include: -

  • Why Cloud?
  • The Azure portal
  • Working with Data in Azure with F#
    • Blobs and Tables
    • SQL
    • Document DB
  • Running F# Code in Azure
    • App Service
    • Cloud Services
    • Service Fabric
  • Messaging and Queuing in Azure
    • Storage Queues
    • Web Jobs
    • Azure Functions
  • Architectural Patterns

  • Duration: 1 day
  • Level: 200
  • Pre-requisites skills: F#, Visual Studio

Distributed Programming and Data is something that has, up until now, been difficult to achieve and expensive to perform within the .NET world. The prevalence of the cloud has lowered the bar through queuing mechanisms and the like, but providing the ability to seamlessly distribute workloads in .NET still remains difficult to achieve. The MBrace framework changes this by providing the ability to integrate code from any CLR language (C#, VB .NET or F#) and "burst out" to the cloud using a model that is extremely easy to reason about.

Topics covered include: -

  • Distributed Programming in .NET today
  • The MBrace Framework
  • Installing MBrace
  • The MBrace experience
  • cloud { } workflows
  • Error Handling
  • Compute-bound workloads
  • Data-driven workloads
  • Working in a distributed world
  • MBrace in the Cloud

  • Duration: 1 day
  • Level: 300
  • Pre-requisites skills: F#

This course aims to give the delegates an understanding of best practices for developing software to enable rapid development cycles through automated tooling. The delegate will be shown best practices for source control using the GIT source control system, as well as automating building, testing and deploying software. The delegate will leave the course understanding the value of build automation and be able to start applying these techniques in their own teams.

Topics covered include: -

  • What is continuous integration?
  • Source control with GIT
  • Repeatable Builds with build systems
    • Visual Studio Team Services
    • Team City
    • AppVeyor
  • FAKE
  • Paket
  • Automating Unit Tests
  • Automating Deployments
  • Deploying code in Azure

  • Duration: 1 day
  • Level: 100
  • Pre-requisites skills: .NET, Visual Studio