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
Offered By


About this Course
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessWhat 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
- Laziness
- Type Class
- Functional Programming
- Referential Transparency
- Reactive Programming
Could your company benefit from training employees on in-demand skills?
Try Coursera for BusinessOffered by
Syllabus - What you will learn from this course
For Expressions and Monads
Lazy Evaluation
Type-Directed Programming
Functions and State
Reviews
- 5 stars66.28%
- 4 stars24.04%
- 3 stars7.58%
- 2 stars1.63%
- 1 star0.44%
TOP REVIEWS FROM FUNCTIONAL PROGRAM DESIGN IN SCALA
Awesome course. All assignments except the last one are super difficult.
Maybe the assignments could be made a little simpler by providing some more hints.
i thought i knew scala at the time. but i had trouble putting the pieces together. this course really helped me understand how the various parts can be used together in practice.
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.
Really enjoyed doing the course. Learned a ton of Stuff. Functional programming design is amazing. It's like learning Object Oriented programming (with design patterns) for the first time.
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.