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
Professor
Martin Odersky is a prominent professor at the École Polytechnique Fédérale de Lausanne (EPFL) in Switzerland, renowned for his extensive work in programming languages. He completed his PhD under the guidance of Niklaus Wirth, the creator of Pascal, and has since focused on integrating object-oriented and functional programming paradigms. Odersky's significant contributions include the development of the Scala programming language, which elegantly combines these two paradigms while ensuring interoperability with Java and .NET systems. His earlier work also involved co-designing Java generics and creating the javac compiler, which remains the reference compiler for Java today. As head of the programming group at EPFL and chairman of Typesafe, he continues to influence the landscape of programming languages through both academic and practical application
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.