Opsgility Online Training

 Up and Running with F#


Course Overview

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#.

Course Details

  • Video Length: 9 hours, 20 minutes, 37 seconds
  • Lab: 4 hours, 5 minutes, 0 seconds
  • Published: 2015-12-03
  • Level: 200

Module 1 – Introduction to F#

This module provides an introduction to F#. Topics include a brief overview of the history of the language, what problems it is designed to solve, where it fits in within the Visual Studio / .NET ecosystem, as well as a summary of the F# community and its ethos.
Labs:
  • Lab 1: Installing Visual Studio 2015 with F#

Module 2 – Developing F# in Visual Studio 2015

This module focuses on configuring Visual Studio for optimum F# development. Students will also gain an introduction to writing code with the Visual Studio F# REPL, known as F# Interactive (FSI) and execute some simple F# examples.
Labs:
  • Lab 02: Developing F sharp in Visual Studio 2015

Module 3: F# Fundamentals

This module will introduce the student to the most important F# language features that underpin many of the higher-level features in the language and framework, as well as explaining some of the key design decisions behind the F# language.
Labs:
  • Lab 3: Writing Valid F#

Module 4: Functions and Data

This module will introduce the student to some of the core types in F# and compare & contrast them with equivalents available in the Base Class Library (BCL) and C# / VB .NET.
Labs:
  • Lab 4: Building and Consuming a Calculator

Module 5: Program Flow

This module will demonstrate common mechanisms for orchestrating program flow in F#. It also introduces the user to the last “core F# type”, the Discriminated Union.
Labs:
  • Lab 5: Creating a simplified Monopoly

Module 6: Collections

Collections are a core part of F#. This module will provide an overview of the various collections available in F# and compare & contrast them with equivalent types available in the Base Class Library (BCL) and C# / VB .NET.
Labs:
  • Lab 6: Working with Collections

Module 7: Integrating F# and C# projects

Description: As a first-class citizen on the .NET platform, F# has an excellent interoperability story with C# and VB .NET. This module illustrates how interoperability is achieved between F# and C# and VB .NET, both in terms of consuming other .NET code and exposing F# to other .NET consumers.
Labs:
  • Lab 7: Interop Application Review

Module 8: Exploring data using F# and Type Providers

F# has rich support for accessing data with a wide variety of Type Providers, which provide the ease-of-use of a dynamic language such as Python with the type safety of a static language such as C#. This module illustrates some common patterns and core packages for accessing data.
Labs:
  • Lab 8: Weather Forecasting

Module 9: Building Data-Driven Web APIs in F#

F# plays well with frameworks like Web API and can integrate with SQL through a number of mechanisms, including standard .NET APIs as well as F#-specific ones. In this session, we’ll illustrate the different mechanisms available to the user and build an API that exposes data over HTTP with a SQL backend.
Labs:
  • Lab 9: House Prices Web API

Module 10: Unit Testing in F#

You can write unit tests with F# just like you can with C#; because of the way that many F# functions are written, they are often easier to test than OO-equivalents. This module illustrates how to integrate your F# code with some of the unit testing frameworks that are out there.

Module 11: Wrapping up

This module will provide the student with some excellent resources and common F# packages worth investigating further.

Start a 7 Day Free Trial
Opsgility subscriptions include unlimited access to Opsgility official courseware, the most comprehensive online training for the Microsoft cloud and related technologies.
Subscription Benefits
  • Access to Real Time Lab environments and lab guides (additional purchase required for lab environments)
  • Course Completion Certificates when you pass assessments
  • 5% off instructor-led courses
  • Easy purchase of Microsoft On-Demand Official Curriculum
  • MUCH MORE!