Master advanced Scala 2 concepts: Learn functional design principles, lazy evaluation, and reactive programming in this in-depth course.
Master advanced Scala 2 concepts: Learn functional design principles, lazy evaluation, and reactive programming in this in-depth course.
Deepen your Scala 2 expertise with this advanced functional programming course. Led by Scala creator Martin Odersky, you'll explore complex topics such as for-comprehensions, monads, lazy evaluation, and functional reactive programming. Learn to design functional libraries, apply type-directed programming, and understand the interplay between functions and state. Through hands-on assignments, you'll tackle real-world challenges like discrete event simulation and JSON codec implementation. This course builds on the Functional Programming Principles in Scala, advancing your skills in writing efficient, scalable Scala applications.
4.6
(10 ratings)
Instructors:
English
21 languages available
What you'll learn
Recognize and apply design principles of functional programming in Scala 2
Design functional libraries and their APIs with advanced Scala concepts
Implement lazy evaluation techniques and work with infinite data structures
Understand and apply monads in functional programming contexts
Develop skills in type-directed programming and implicit definitions
Create simple functional reactive applications
Skills you'll gain
This course includes:
7.81 Hours PreRecorded video
3 quizzes
Access on Mobile, Tablet, Desktop
FullTime access
Shareable certificate
Closed caption
Get a Completion Certificate
Share your certificate with prospective employers and your professional network on LinkedIn.
Created by
Provided by

Top companies offer this course to their employees
Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.





There are 5 modules in this course
This advanced course, taught by Scala creator Martin Odersky, delves into the design principles of functional programming using Scala 2. Students will explore complex topics such as for-comprehensions, monads, lazy evaluation, and functional reactive programming. The curriculum covers designing functional libraries, applying type-directed programming, and understanding the interaction between functions and state. Through hands-on programming assignments, students will tackle real-world challenges like discrete event simulation, JSON codec implementation, and functional random generators. The course also touches on advanced concepts like structural induction on trees, infinite sequences, and the observer pattern, providing a comprehensive understanding of functional program design in Scala 2.
For Expressions and Monads
Module 1 · 10 Hours to complete
Lazy Evaluation
Module 2 · 7 Hours to complete
Type-Directed Programming
Module 3 · 7 Hours to complete
Functions and State
Module 4 · 1 Hours to complete
Timely Effects
Module 5 · 6 Hours to complete
Fee Structure
Payment options
Financial Aid
Instructor
Programming Language Pioneer and Creator of Scala
Martin Odersky, born September 5, 1958, has established himself as a leading figure in programming language design and development. After receiving his Ph.D. from ETH Zurich in 1989 under Niklaus Wirth's supervision, he held research positions at IBM and Yale University, where he developed his passion for functional programming. His career achievements include co-designing Java generics and developing the javac reference compiler that became the standard Java compiler. In 1999, he joined EPFL as a full professor, where he leads the programming research group. His most significant contribution is creating the Scala programming language, which began development in 2001 and was first released in 2003. Scala successfully unifies object-oriented and functional programming paradigms while maintaining complete interoperability with Java and .NET. In 2011, he co-founded Typesafe (renamed to Lightbend in 2016) to provide commercial support for Scala. His work has earned him numerous accolades, including being named an ACM Fellow in 2007 for his contributions to programming language design. He currently teaches several courses on Coursera, including Functional Programming Principles in Scala, Functional Program Design in Scala, and Programming Reactive Systems, while continuing to oversee Scala's development as both an academic and industrial programming language.
Testimonials
Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.
Frequently asked questions
Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.



