Master functional programming in Scala 2: Learn recursion, pattern matching, and immutable data structures in this hands-on course.
Master functional programming in Scala 2: Learn recursion, pattern matching, and immutable data structures in this hands-on course.
Dive into functional programming with Scala 2 in this comprehensive course. Learn to write purely functional programs using recursion, pattern matching, and higher-order functions. Discover how to design immutable data structures and combine functional programming with object-oriented concepts. This hands-on course, taught by Scala creator Martin Odersky, covers key topics like functions as first-class values, currying, traits, class hierarchies, and advanced type system features. Through programming assignments and equational reasoning, you'll gain a solid foundation in functional programming principles and their practical applications in Scala 2.
4.8
(58 ratings)
7,461 already enrolled
Instructors:
English
21 languages available
What you'll learn
Understand the principles of functional programming and their application in Scala 2
Write purely functional programs using recursion, pattern matching, and higher-order functions
Design and implement immutable data structures for efficient functional programming
Combine functional programming concepts with object-oriented programming in Scala
Master Scala's type system, including subtyping, generics, and variance
Gain proficiency in using Scala collections, including Lists, Vectors, and Maps
Skills you'll gain
This course includes:
9.85 Hours PreRecorded video
1 quiz
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 6 modules in this course
This course, led by Scala creator Martin Odersky, provides a comprehensive introduction to functional programming principles using Scala 2. Students will learn to write purely functional programs, leveraging concepts such as recursion, pattern matching, and higher-order functions. The curriculum covers the design of immutable data structures, combining functional programming with object-oriented concepts, and explores Scala's type system, including subtyping and generics. Through hands-on programming assignments and exploration of data structures like Lists, students will gain practical experience in applying functional programming techniques to solve real-world problems. The course also touches on more advanced topics such as variance, implicit parameters, and for-comprehensions, providing a solid foundation for developing scalable and maintainable Scala applications.
Getting Started + Functions & Evaluation
Module 1 · 12 Hours to complete
Higher Order Functions
Module 2 · 7 Hours to complete
Data and Abstraction
Module 3 · 7 Hours to complete
Types and Pattern Matching
Module 4 · 7 Hours to complete
Lists
Module 5 · 1 Hours to complete
Collections
Module 6 · 7 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.



