RiseUpp Logo
Educator Logo

Functional Program Design in Scala 2: Advanced Concepts

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

Powered by

Provider Logo
Functional Program Design in Scala 2: Advanced Concepts

This course includes

31 Hours

Of Self-paced video lessons

Intermediate Level

Completion Certificate

awarded on course completion

2,699

Audit For Free

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

Functional Programming
Scala
Lazy Evaluation
Monads
Reactive Programming
Type Classes
Referential Transparency

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.

Certificate

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.

icon-0icon-1icon-2icon-3icon-4

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

Martin Odersky
Martin Odersky

4.8 rating

616 Reviews

2,31,877 Students

6 Courses

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.

Functional Program Design in Scala 2: Advanced Concepts

This course includes

31 Hours

Of Self-paced video lessons

Intermediate Level

Completion Certificate

awarded on course completion

2,699

Audit For Free

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.