RiseUpp Logo
Educator Logo

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.

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

Powered by

Provider Logo
Functional Programming Principles in Scala 2

This course includes

41 Hours

Of Self-paced video lessons

Intermediate Level

Completion Certificate

awarded on course completion

2,699

Audit For Free

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

Scala Programming
Functional Programming
Recursion
Higher-Order Functions
Pattern Matching
Immutable Data Types

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.

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 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

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 Programming Principles in Scala 2

This course includes

41 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.