F# for C# Developers


Course Number: FSHP-102

Duration: 3 days (19.5 hours)

Format: Live, hands-on

F# Training Overview

Accelebrate's F# for C# developers training course teaches attendees who are already familiar with the C# language, the fundamentals of functional programming, the syntax of F#, and how to best utilize the language in your .NET-based projects.

Location and Pricing

Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.

In addition, some Microsoft courses are available as live, online classes for individuals.

Objectives

  • Learn the basics of functional programming and its role
  • Understand the language syntax of F#
  • Gain experience using continuation-based sequences and higher-order functions
  • Understand how F# can make it easier to write highly concurrent code with fewer side-effects
  • Learn how to integrate F# with other .NET code

Prerequisites

Attendees should have extensive prior .NET development experience using C#.

Outline

Expand All | Collapse All

What is Functional Programming?
  • The F# Language
  • Visual Studio and VS Code
  • F# Interactive
Fundamentals
  • Immutability and Side Effects
  • Functional Purity
  • Bindings
  • Data Types
  • Collections
  • Classes and Interfaces
  • Flow Control
  • Generics
  • Exception Handling
Pattern Matching
  • Match Expressions
  • Matching Tuples
  • Guard Clauses
  • Pattern Matching Functions
  • Exhaustive Matching
  • Dynamic Type-Test Patterns
Functions
  • Functions as Data
  • Currying
  • Partial Application
  • Functional Composition
  • Recursive Functions
Record Types
  • Defining
  • Creating
  • Copying
  • Mutability
  • Additional Members
Discriminated Unions
  • Defining
  • Creating
  • Pattern Matching
  • Empty Cases
  • Equality
Sequences and Collections
  • Creating Sequences
  • Iterating and Transforming
  • Sorting and Filtering
  • Fold and Reduce
  • Lists
Imperative Programming
  • Looping and Iterating
  • Using Mutable Records
  • Working with Arrays
Programming with Objects
  • Using Classes
  • Interface Types
  • Combining Functional and Objects
Units of Measure
  • Defining Measures
  • Measure Formulas
  • Applying Measures
  • Enforcing Measures
Async and Parallel
  • Async Type
  • Starting an Asynchronous Workflow
  • Parallelism
Interoperability
  • Calling F# Libraries from C#
  • Other Scenarios
Computational Expressions
  • Computational Expression Builders
  • Custom Computational Expression Builders
Quotations
  • Quotation Basics
  • Generating Quotation Expressions
Type Providers
  • Introduction
  • Architecture
  • Parsing JSON
  • Database Access
Conclusion

Training Materials:

All F# students receive a comprehensive lab manual and a related textbook.

Software Requirements:

  • Windows 10 or later
  • Visual Studio 2017 or later
  • Visual Studio Code with the Ionide extension installed

If you have purchased this class, please contact us for more detailed setup specifications



Learn faster

Our live, instructor-led lectures are far more effective than pre-recorded classes

Satisfaction guarantee

If your team is not 100% satisfied with your training, we do what's necessary to make it right

Learn online from anywhere

Whether you are at home or in the office, we make learning interactive and engaging

Multiple Payment Options

We accept check, ACH/EFT, major credit cards, and most purchase orders



Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan