Introduction to Functional Programming Course (How To)
Offered By: Treehouse
Course Description
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!
Chevron 11 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
-
Method References
5:21
-
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.
Chevron 6 steps-
Understanding Streams
4:56
-
Setting Up the Project
2:33
-
Filtering
9:36
-
Collecting and Limiting
11:16
-
Transforming With Map
9:29
-
flatMap
12:18
Reduction and Aggregation
Reduce, aggregate and use ranges!
Chevron 5 steps-
Reduction Operations
7:25
-
Optionals
9:56
-
Optional Quiz...Homonym Fail, it is Required
3 questions
-
Ranges
6:11
-
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.
Chevron 8 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
-
Closures
9:15
-
Functionally Over
1:48
Related Courses
Just Enough Functional Programming in JavaScriptegghead.io The Hard Parts of Functional JavaScript
Frontend Masters A gentle introduction to Elm programming language
Independent Functional programming with Clojure
University of Helsinki via Independent Advanced C#: Functional Programming Patterns
LinkedIn Learning