• Online, Self-Paced
Course Description

F# is a Microsoft .NET language that offers support for functional programming in addition to object-oriented and imperative programming. In this course, you'll learn how to use Access Control, Signature Files, and Assertions in F#, as well as how to use Strings, Collections, casting, and conversions. You'll also explore the use of Generics and data and then delve into working with asynchronous data-driven Apps with F#.

Learning Objectives

Access Control, Signature Files, Assertions

  • start the course
  • use access control specifiers in F# programs
  • generate F# signature files to reference modules and namespaces for F# programs
  • use assertions to test F# programs

Strings, Collections, and Conversions

  • manipulate string values in F# programs
  • use collections and work with data sequences in F#
  • work with data arrays in F# including multidimensional and jagged arrays
  • work with lists in F#
  • work with datasets and maps in F#
  • use conversion or casting to change type including collection types and objects in F#
  • influence type inference by changing literals and using annotations in F#
  • overload operators in F#

Patterns, Null, Options, Units of Measure

  • create patterns and implement pattern matching expressions in F#
  • use active patterns in pattern matching expressions in F#
  • enable null values and use the option type in F# programs
  • use units of measure including generic units of measure in F#

Generics and Records

  • describe generics in F# and apply constraints to generic type parameters
  • define records, contrast them with classes, and use records in F# programs

Querying Data

  • use basic query expressions in F# programs
  • use F# to filter, sort, group and aggregate data sets
  • use expressions in F# to query multiple data sources

The Task Parallel Library

  • recognize contrast threading and the TPL, and implement basic data and task parallelism in F#

Asynchronous and Message-based Programs

  • implement asynchronous workflows in F#
  • create an MVVM app with F#
  • implement message-based programming in F#
  • use computational expressions in F#

Data Visualization

  • implement basic charts with F#
  • implement dynamic charts with F#

Practice: Async Data-driven Apps with F#

  • use asynchronous workflows in an MVVM F# application

Framework Connections

The materials within this course focus on the NICE Framework Task, Knowledge, and Skill statements identified within the indicated NICE Framework component(s):

Specialty Areas

  • Software Development

Feedback

If you would like to provide feedback for this course, please e-mail the NICCS SO at NICCS@hq.dhs.gov.