• 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 Knowledge Skills and Abilities (KSAs) identified within the Specialty Areas listed below. Click to view Specialty Area details within the interactive National Cybersecurity Workforce Framework.

Feedback

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