Tomas Petricek & Phil Trelford's Fast Track to F#
Tuesday, April 30, 2013 at 9:00 AM - Wednesday, May 1, 2013 at 5:00 PM (EDT)
This two day Fast Track to F# course is what you need to start using F# in practice and to get the most out of functional and concurrent programming concepts. The course is designed by F# experts Tomas Petricek and Phil Trelford and builds on their real-world experience with F#.
F# is increasingly used in domains such as finance, gaming, mobile and web development, testing and more. The language makes it possible to solve complex problems with simple, maintainable and robust code.
In this course, we look at a number of applications. We explore how F# simplifies domain modelling and testing. Then we look at F# killer features for asynchronous and concurrent programming and for data processing.
After attending the course, you’ll be able to solve interesting problems with F#, but you’ll also become a better programmer in general.
LEARN HOW TO
- Write effective and succinct solutions to complex problems in F#
- Model complex domains with functional types and domain specific languages (DSLs)
- Learn how to integrate F# in to your company workflow through prototyping, testing and scripting
- Use F# 3.0 type providers to gather and process data
- Use F# asynchronous workflows and agents to write scalable concurrent code
Day 1 (Introduction and domain modelling)
- How does F# fit with the rest of the world?
- Object-oriented F# from a C# perspective
- Working with F# types and functions
- How F# avoids NullReferenceExceptions
Domain modelling and DSLs
- Modelling problem domains with functional types (“Domain on a single page”)
- Implementing business logic in F#
Writing applications in F#
- Testing F# code and using F# as a testing tool
- Building a retail .NET application in F#
Day 2 (Killer applications for F#)
Data processing and F# 3.0 type providers
- Obtaining data with type providers
- Processing and visualizing data
- Numerical calculations and machine learning
- How do F# type providers work?
Asynchronous and concurrent programming
- How to write non-blocking computations
- Asynchronous workflows for server-side and client-side programming
- Introducing agent-based concurrency in F#
- Designing concurrent scalable data-processing systems in F#
IS THIS COURSE FOR YOU?
This Fast Track to F# course is for you if:
- You are software developer who wants to use F# in a real-world software system
- You are a software architect and want to find out how to best leverage the power of F#
- You are a developer who wants to broaden your skill set and get a better grasp on concurrency and functional ideas
If you want to start evaluating or using F# or if you want to gain a new perspective on software architecture and development, but still use C#, this course has the right material for you!
The course doesn’t require prior experience with F# or functional programming. To benefit from the course, you should have working knowledge of some object-oriented language. Some knowledge of .NET will be beneficial, but is not required.
You are requested to bring your own laptop for this course, so you learn how to develop within your own environment. If you are unable to bring a laptop for the course, please contact the sales team on +1 347 708 1529 or email sales.A full installation guide for the course software will be provided with your joining instructions.
A brief theoretical introduction to every concept will be followed by numerous practical demos and exercises. At the end of the first day, you’ll leave with a complete real-world F# application.
In the second day, we’ll solve a number of complex problems in concurrent and data-oriented programming.