Functional Programming Principles in Scala 2
Master functional programming in Scala 2: Learn recursion, pattern matching, and immutable data structures in this hands-on course.
Course Cost
₹ 2,699
Intermediate
Skill Level
41 Hours
Self-paced lessons
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.
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
Develop skills in equational reasoning and proving program properties
Apply functional programming techniques to solve real-world problems through hands-on assignments
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

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
Reviews
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.
Faculties
These are the expert instructors who will be teaching you throughout the course. With a wealth of knowledge and real-world experience, they're here to guide, inspire, and support you every step of the way. Get to know the people who will help you reach your learning goals and make the most of your journey.
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.




