In this course you will learn how to apply the functional programming style in the design of larger Scala applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world. Finally, you will learn how to leverage the ability of the compiler to infer values from types.
This course is part of the Functional Programming in Scala Specialization
About this Course
What you will learn
Recognize and apply design principles of functional programs
Design functional libraries and their APIs
Write simple functional reactive applications
Understand reasoning techniques for programs that combine functions and state
Skills you will gain
- Type Class
- Functional Programming
- Referential Transparency
- Reactive Programming
Syllabus - What you will learn from this course
For Expressions and Monads
Functions and State
- 5 stars66.28%
- 4 stars24.04%
- 3 stars7.58%
- 2 stars1.63%
- 1 star0.44%
TOP REVIEWS FROM FUNCTIONAL PROGRAM DESIGN IN SCALA
Great experience with the assignments. Took some time to get understand all the course materials. Highly recommended. Still can learn a lot after reading fpins
The introduction to functional reactive programming is well done. You go from the problem to the solution in a few lectures, and understand positive and negative aspects of the approach.
Maybe an unfair comparison but I am comparing this with the principles of reactive programming. That had much more contents such as actors, etc. Having said that this is a good course by itself.
It is one of the best courses and one of the most informing of all of them. If you want to learn a new programming language paradigm, like functional, this course is perfect for you.
About the Functional Programming in Scala Specialization
Frequently Asked Questions
When will I have access to the lectures and assignments?
What will I get if I subscribe to this Specialization?
Is financial aid available?
More questions? Visit the Learner Help Center.