Introduction to Functional Programming Course

Go to class
Write Review

Free Online Course: Introduction to Functional Programming Course provided by Treehouse is a comprehensive online course, which lasts for 4-5 hours worth of material. The course is taught in English and is free of charge.

Overview
  • Functional Programming is an old paradigm, but one that is relatively new to the Java world. In this course we will explore how to take advantage of the power that comes with thinking declaratively.

    What you'll learn
    • Imperative vs. Declarative Syntax
    • Lambdas & Method References
    • Streams
    • Functional Programming concepts
    • Higher Order Functions and Closures

Syllabus
  •   Java's Functional Toolset

     

    Java 8 introduced new Functional Programming capabilities. Let's explore them!

    13 steps
    • Introduction

      5:08

    • Why Now?

      4:56

    • Imperative vs. Declarative

      7:47

    • Imperative vs. Declarative

      3 questions

    • A More Functional Loop

      5:46

    • Lambdas

      5:36

    • Using forEach

      5 minutes

    • Method References

      5:21

    • Using method references

      5 minutes

    • Function Shapes

      9:31

    • Supplier and Consumer

      2 questions

    • Function Shapes - Function and Predicate

      4:36

    • Function Shape Review

      4 questions

      Meet Streams

     

    Let's explore the Streams API which provides powerful declarative ways to process sequences of elements.

    10 steps
    • Understanding Streams

      4:56

    • Setting Up the Project

      2:33

    • Filtering

      9:36

    • Filtering High Scores

      10 minutes

    • Collecting and Limiting

      11:16

    • Collecting 3 NES Scores

      10 minutes

    • Transforming With Map

      9:29

    • Mapping Player's Names

      10 minutes

    • flatMap

      12:18

    • Creating a Word Cloud

      10 minutes

      Reduction and Aggregation

     

    Reduce, aggregate and use ranges!

    7 steps
    • Reduction Operations

      7:25

    • Reduce Housing Records

      15 minutes

    • Optionals

      9:56

    • Optional Quiz...Homonym Fail, it is Required

      3 questions

    • Ranges

      6:11

    • Using a Range to Produce a Menu

      15 minutes

    • Infinite Streams

      4:29

      Functional Programming Fundamentals

     

    Now that you've had some hands on experience, let's review some of important functional programming concepts with broader strokes.

    10 steps
    • Pure Functions

      4:06

    • Side Effects

      4:45

    • Keeping Things Pure

      3 questions

    • Higher Order Functions

      8:22

    • Higher Order Function

      2 questions

    • Function Composition

      8:36

    • Compose Price Conversion Functions

      20 minutes

    • Closures

      9:15

    • Functionally Over

      1:48

    • Higher Order Function for Price Conversion

      20 minutes