• For Individuals
  • For Businesses
  • For Universities
  • For Governments
Degrees
Log In
Join for Free
  • Browse
  • Functional Programming

Functional Programming Courses

Functional programming courses can help you learn concepts like first-class functions, immutability, and higher-order functions, along with practical techniques for managing state and side effects. You can build skills in recursive problem-solving, data transformation, and leveraging pure functions for cleaner code. Many courses introduce tools such as Haskell, Scala, and JavaScript, showcasing how these languages facilitate functional programming principles and enhance software development practices.


Popular Functional Programming Courses and Certifications


  • Status: Free Trial
    Free Trial
    É

    École Polytechnique Fédérale de Lausanne

    Functional Programming in Scala

    Skills you'll gain: Scala Programming, Apache Spark, User Interface (UI), Distributed Computing, Programming Principles, Big Data, Data Processing, Software Design, Data Structures, Software Design Patterns, Functional Design, Data Manipulation, Object Oriented Programming (OOP), Heat Maps, Interactive Data Visualization, Computer Programming, Real Time Data, Visualization (Computer Graphics), Geospatial Information and Technology, Performance Tuning

    4.7
    Rating, 4.7 out of 5 stars
    ·
    11K reviews

    Intermediate · Specialization · 3 - 6 Months

  • Status: Free Trial
    Free Trial
    É

    École Polytechnique Fédérale de Lausanne

    Functional Programming Principles in Scala

    Skills you'll gain: Scala Programming, Programming Principles, Object Oriented Programming (OOP), Functional Design, Computer Programming, Data Structures, Integrated Development Environments, Algorithms, Computational Thinking, Unit Testing

    4.8
    Rating, 4.8 out of 5 stars
    ·
    8.3K reviews

    Intermediate · Course · 1 - 3 Months

  • Status: Free Trial
    Free Trial
    V

    Vanderbilt University

    Functional Programming with Java and Threads

    Skills you'll gain: IntelliJ IDEA, Java Programming, Object Oriented Programming (OOP), Java, Integrated Development Environments, Computer Programming, Open Source Technology, Programming Principles, Scalability, Functional Design

    4.1
    Rating, 4.1 out of 5 stars
    ·
    12 reviews

    Intermediate · Course · 1 - 4 Weeks

  • Status: Free Trial
    Free Trial
    U

    University of London

    Object Oriented Programming

    Skills you'll gain: Pseudocode, C++ (Programming Language), Object Oriented Programming (OOP), C and C++, File I/O, Object Oriented Design, Integrated Development Environments, Computer Programming, Development Environment, Programming Principles, Debugging, Data Structures, Program Development, Algorithms, Interactive Design, Data Modeling, Model Evaluation, Software Engineering, Test Data, Data Validation

    Build toward a degree

    4.7
    Rating, 4.7 out of 5 stars
    ·
    244 reviews

    Intermediate · Specialization · 1 - 3 Months

  • Status: Preview
    Preview
    É

    École Polytechnique Fédérale de Lausanne

    Functional Programming Principles in Scala (Scala 2 version)

    Skills you'll gain: Scala Programming, Programming Principles, Data Structures, Functional Design, Object Oriented Programming (OOP), Algorithms, Integrated Development Environments

    4.8
    Rating, 4.8 out of 5 stars
    ·
    65 reviews

    Intermediate · Course · 1 - 3 Months

  • Status: Free Trial
    Free Trial
    M

    Meta

    Programming Fundamentals in Swift

    Skills you'll gain: Swift Programming, Apple Xcode, iOS Development, Data Structures, Programming Principles, Mobile Development, Application Development, Object Oriented Programming (OOP), Development Environment, Computer Programming, Web Development

    4.7
    Rating, 4.7 out of 5 stars
    ·
    273 reviews

    Beginner · Course · 1 - 3 Months

What brings you to Coursera today?

  • Status: Free Trial
    Free Trial
    J

    Johns Hopkins University

    R Programming

    Skills you'll gain: Statistical Analysis, R Programming, Statistical Programming, Data Analysis, Debugging, Simulations, Computer Programming Tools, Programming Principles, Data Manipulation, Data Structures, Performance Tuning, Data Import/Export

    4.5
    Rating, 4.5 out of 5 stars
    ·
    22K reviews

    Intermediate · Course · 1 - 4 Weeks

  • Next level skills. New Year savings.

    Save on Coursera Plus
  • Status: New
    New
    Status: Free Trial
    Free Trial
    P

    Pearson

    Rust Programming Essentials

    Skills you'll gain: System Programming, Rust (Programming Language), Data Structures, Relational Databases, Other Programming Languages, Databases, Debugging, Programming Principles, Application Development, Secure Coding, SQL, Object Oriented Programming (OOP), C++ (Programming Language), Interoperability, Software Development, File I/O, Command-Line Interface, Data Import/Export

    3.6
    Rating, 3.6 out of 5 stars
    ·
    6 reviews

    Beginner · Specialization · 1 - 3 Months

  • Status: Preview
    Preview
    U

    University of Washington

    Programming Languages, Part A

    Skills you'll gain: Software Installation, Programming Principles, Other Programming Languages, Functional Design, Computer Programming, Ruby (Programming Language), Theoretical Computer Science, Object Oriented Programming (OOP), Software Design

    4.9
    Rating, 4.9 out of 5 stars
    ·
    1.9K reviews

    Intermediate · Course · 1 - 3 Months

  • Status: Free Trial
    Free Trial
    U

    University of London

    Introduction to Object-Oriented Programming in C++

    Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Interactive Design, Program Development, File I/O, Command-Line Interface, Control Panels, Development Environment, Debugging

    Build toward a degree

    4.7
    Rating, 4.7 out of 5 stars
    ·
    178 reviews

    Intermediate · Course · 1 - 4 Weeks

  • Status: New
    New
    Status: Free Trial
    Free Trial
    G

    Google

    Functions and Conditional Statements

    Skills you'll gain: Software Design, Computational Logic, Computer Programming

    4.9
    Rating, 4.9 out of 5 stars
    ·
    20 reviews

    Beginner · Course · 1 - 4 Weeks

  • Status: Free Trial
    Free Trial
    S

    Scrimba

    Advanced JavaScript 2: Async JS, APIs, Operators, Objects

    Skills you'll gain: Ajax, JSON, Application Programming Interface (API), Javascript, Event-Driven Programming, Data Validation, Web Development, Object Oriented Programming (OOP), Debugging

    Intermediate · Course · 1 - 4 Weeks

What brings you to Coursera today?

Loading search results

Searches related to functional programming

functional programming in scala
functional programming principles in scala
functional programming in scala capstone
functional programming with java and threads
advanced spring concepts and functional programming
functional programming principles in scala (scala 2 version)
object-oriented programming in c++: functions
object-oriented programming and functions
1234…404

In summary, here are 10 of our most popular functional programming courses

  • Functional Programming in Scala: École Polytechnique Fédérale de Lausanne
  • Functional Programming Principles in Scala: École Polytechnique Fédérale de Lausanne
  • Functional Programming with Java and Threads: Vanderbilt University
  • Object Oriented Programming: University of London
  • Functional Programming Principles in Scala (Scala 2 version): École Polytechnique Fédérale de Lausanne
  • Programming Fundamentals in Swift: Meta
  • R Programming: Johns Hopkins University
  • Rust Programming Essentials: Pearson
  • Programming Languages, Part A: University of Washington
  • Introduction to Object-Oriented Programming in C++: University of London

Skills you can learn in Software Development

Programming Language (34)
Google (25)
Computer Program (21)
Software Testing (21)
Web (19)
Google Cloud Platform (18)
Application Programming Interfaces (17)
Data Structure (16)
Problem Solving (14)
Object-oriented Programming (13)
Kubernetes (10)
List & Label (10)

Frequently Asked Questions about Functional Programming

Functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids changing state or mutable data. This approach emphasizes the use of functions as the primary building blocks of software, leading to clearer, more predictable code. Functional programming is important because it promotes code that is easier to understand, test, and maintain. It also facilitates parallel processing and can lead to more efficient use of resources, making it a valuable skill in today’s technology landscape.‎

With a background in functional programming, you can pursue various roles in the tech industry. Common job titles include Software Developer, Data Scientist, and Systems Architect. Many companies seek professionals who can leverage functional programming languages like Scala, R, or Java to build robust applications. Additionally, roles in machine learning and data analysis increasingly value functional programming skills, as they enable efficient data manipulation and algorithm implementation.‎

To learn functional programming effectively, you should focus on several key skills. First, understanding the principles of functional programming, such as immutability, first-class functions, and higher-order functions, is crucial. Familiarity with functional programming languages like Scala, Haskell, or Java is also beneficial. Additionally, developing problem-solving skills and a solid grasp of algorithms and data structures will enhance your ability to implement functional programming concepts in real-world applications.‎

There are several excellent online courses available for learning functional programming. For instance, the Functional Programming Principles in Scala course offers a comprehensive introduction to the concepts and practices of functional programming using Scala. Another great option is the Functional Programming with Java and Threads course, which focuses on applying functional programming principles in Java. These courses provide a solid foundation for anyone looking to enhance their programming skills.‎

Yes. You can start learning functional programming on Coursera for free in two ways:

  1. Preview the first module of many functional programming courses at no cost. This includes video lessons, readings, graded assignments, and Coursera Coach (where available).
  2. Start a 7-day free trial for Specializations or Coursera Plus. This gives you full access to all course content across eligible programs within the timeframe of your trial.

If you want to keep learning, earn a certificate in functional programming, or unlock full course access after the preview or trial, you can upgrade or apply for financial aid.‎

To learn functional programming, start by selecting a course that aligns with your current knowledge and goals. Begin with foundational concepts, such as functions, immutability, and recursion. Practice coding exercises to reinforce your understanding. Engage with online communities or forums to discuss challenges and solutions with peers. Finally, work on personal projects or contribute to open-source projects to apply what you've learned in real-world scenarios.‎

Typical topics covered in functional programming courses include the principles of functional programming, higher-order functions, recursion, immutability, and functional data structures. Courses may also explore specific languages, such as Scala or Haskell, and their unique features. Additionally, you might learn about functional programming in the context of concurrent programming and how to apply these concepts in software development.‎

For training and upskilling employees in functional programming, the Functional Programming in Scala Specialization is an excellent choice. This specialization covers essential concepts and practical applications, making it suitable for teams looking to enhance their programming capabilities. Additionally, the Microsoft R Programming for Everyone Professional Certificate offers a structured approach to learning functional programming within the R language, which is valuable for data-driven roles.‎

This FAQ content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.

Other topics to explore

Arts and Humanities
338 courses
Business
1095 courses
Computer Science
668 courses
Data Science
425 courses
Information Technology
145 courses
Health
471 courses
Math and Logic
70 courses
Personal Development
137 courses
Physical Science and Engineering
413 courses
Social Sciences
401 courses
Language Learning
150 courses

Coursera Footer

Skills

  • Artificial Intelligence (AI)
  • Cybersecurity
  • Data Analytics
  • Digital Marketing
  • English Speaking
  • Generative AI (GenAI)
  • Microsoft Excel
  • Microsoft Power BI
  • Project Management
  • Python

Certificates & Programs

  • Google Cybersecurity Certificate
  • Google Data Analytics Certificate
  • Google IT Support Certificate
  • Google Project Management Certificate
  • Google UX Design Certificate
  • IBM Data Analyst Certificate
  • IBM Data Science Certificate
  • Machine Learning Certificate
  • Microsoft Power BI Data Analyst Certificate
  • UI / UX Design Certificate

Industries & Careers

  • Business
  • Computer Science
  • Data Science
  • Education & Teaching
  • Engineering
  • Finance
  • Healthcare
  • Human Resources (HR)
  • Information Technology (IT)
  • Marketing

Career Resources

  • Career Aptitude Test
  • Examples of Strengths and Weaknesses for Job Interviews
  • High-Income Skills to Learn
  • How Does Cryptocurrency Work?
  • How to Highlight Duplicates in Google Sheets
  • How to Learn Artificial Intelligence
  • Popular Cybersecurity Certifications
  • Preparing for the PMP Certification
  • Signs You Will Get the Job After an Interview
  • What Is Artificial Intelligence?

Coursera

  • About
  • What We Offer
  • Leadership
  • Careers
  • Catalog
  • Coursera Plus
  • Professional Certificates
  • MasterTrack® Certificates
  • Degrees
  • For Enterprise
  • For Government
  • For Campus
  • Become a Partner
  • Social Impact
  • Free Courses
  • Share your Coursera learning story

Community

  • Learners
  • Partners
  • Beta Testers
  • Blog
  • The Coursera Podcast
  • Tech Blog

More

  • Press
  • Investors
  • Terms
  • Privacy
  • Help
  • Accessibility
  • Contact
  • Articles
  • Directory
  • Affiliates
  • Modern Slavery Statement
  • Do Not Sell/Share
Learn Anywhere
Download on the App Store
Get it on Google Play
Logo of Certified B Corporation
© 2026 Coursera Inc. All rights reserved.
  • Coursera Facebook
  • Coursera Linkedin
  • Coursera Twitter
  • Coursera YouTube
  • Coursera Instagram
  • Coursera TikTok