Course Outline
F# (pronounced F sharp) is a scripted / functional / imperative / object-oriented programming language, with many features in common with OCaml and Haskell.
F# combines type safety, succinctness, performance, expressivity and scripting, with all the advantages of running within the .NET runtime.
What you will learn
1. Utilise Visual Studio 2010 to develop and debug applications
2. Understand the role of the Common Language Runtime (CLR) and .NET Framework
3. Use F# for Functional Programming
4. Use F# for Imperative Programming
5. Use F# for Parallel Programming
6. Use F# within GUI Applications, WPF and Silverlight
Introduction
.NET and Visual Studio 2010
.NET Projects
Common Language Runtime
Visual Studio 2010
F# Interactive
IntelliSense
Fundamentals
Introduction to F#
F# and OCaml
Module and Namespace
.NET Framework Class Library
Values and Functions
Array, List and Sequence
Values and Functions
Functional Programming
Functions and Scoping
Recursive Function
Anonymous Functions
Currying and Piping
Lambda Expressions
Error Handling
Creating Robust Applications
Exception Handling
F# Types
Discriminated Unions and Tuples
Array, List and Sequence
Comprehensions
Manipulating data with map, fold, etc.
Pattern Matching
Immutable and Mutable
Imperative Programming
Object Oriented Programming
Structures and Classes
Inheritance
Polymorphism
Interfaces
Generics
Accessing Databases
Creating a Data Access Layer
Create/Read/Update/Delete Data
ADO.NET types
Using SQL Statements and Stored Procedures
Using LINQ
Accessing Files
Files and Directories
Streams and Writers
Reading and Writing to Files
Asynchronous and Parallel Processing
Async
Asynchronous Expressions
Parallel LINQ
F# and Rich Client Applications
Windows Presentation Foundation (WPF)
Declarative Programming
Imperative Programming
F# and Silverlight
Creating Class Libraries for Silverlight