F#, .NET and Azure Training

F#, .NET and Azure 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, focusing on .NET, F# and Azure. 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 provides delegates with hands-on skills for using the recommended SAFE Stack that provides the basis for type safe programming on modern the .NET stack using F# for end-to-end development. The course explains the key parts of the SAFE stack, including the Suave Model, hands on usage of Azure, Fable and Elmish, and delegates will have the opportunity to develop and deploy a fully cloud-enabled application, building up step-by-step to ensure that attendees leave with a full understanding of the stack, and the confidence to start creating full applications on their own. This course is available as either a 1 day course focussing mainly on web development topics or a 2 day course which includes a day of in depth integration with a range of Azure services including Azure App Service, Azure Storage, Azure Search and many others.

Topics covered on day 1 include: -

  • SAFE Overview
  • Server Side applications with the Saturn web framework
    • Routing
    • Error Handling
    • Working with JSON
    • Saturn rings
    • .Net core tooling
  • Web Programming with Fable
    • The Fable Toolchain
    • Creating basic Fable applications
    • Fable and Javascript interop
  • Using the Elmish model
    • The MVU pattern
    • Commands
    • React
    • Creating type-safe UIs in F#
  • Azure Services with SAFE
    • Deploying SAFE apps on Azure
    • ARM Templates

Topics covered on day 2 include: -

  • Server Side applications with the Saturn web framework
      Authentication
      Push-based apps with web sockets
  • Web Programming with Fable
      Javascript interop
      Working with Typescript bindings
      Fable Remoting
  • Using the Elmish model
    • Fulma
    • Error handling
    • Composing larger applications
  • Azure Services with SAFE
    • Cloud Data services
    • Reliable messaging with Azure
    • App Service
    • Logging in Azure

  • Duration: 2 days
  • Level: 200
  • Pre-requisites skills: F#, Basic Web Skills

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