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.

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

Birla Institute of Technology & Science, Pilani
Skills you'll gain: Java Programming, Object Oriented Programming (OOP), File I/O, Programming Principles, Data Structures, Software Engineering, Unit Testing, Debugging, OS Process Management, Performance Tuning
Intermediate · Course · 1 - 3 Months

Microsoft
Skills you'll gain: C++ (Programming Language), API Design, Software Architecture, Software Design, Maintainability, Data Structures, Generative AI Agents, Data Validation, Performance Tuning, Secure Coding, Verification And Validation, Algorithms, Debugging
Beginner · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Go (Programming Language), Back-End Web Development, Object Oriented Programming (OOP), System Programming, Debugging, Algorithms, Functional Design, Computer Programming Tools, Data Access, Data Structures, Software Design, Operating Systems, Computer Architecture
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Computer Programming, Programming Principles, Maintainability, Prototyping
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Jest (JavaScript Testing Framework), Web Development Tools, Javascript, Unit Testing, Web Applications, Programming Principles, Object Oriented Programming (OOP), Event-Driven Programming, Node.JS, JSON, Computer Programming, Data Structures, Debugging, Package and Software Management, Program Development, Front-End Web Development, Development Environment, Functional Design
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, C (Programming Language), Object Oriented Programming (OOP), C and C++, Programming Principles, Software Design Patterns, Debugging, Computer Programming, Unit Testing, Program Development, Computational Thinking, Integrated Development Environments, Algorithms, Pseudocode, Command-Line Interface, Graph Theory, Software Testing
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Kotlin, Object Oriented Programming (OOP), Programming Principles, Android Development, Data Structures, Computer Programming, Mobile Development, Debugging
Beginner · Course · 1 - 4 Weeks

University of California, Santa Cruz
Skills you'll gain: C++ (Programming Language), Go (Programming Language), File I/O, Data Structures, Object Oriented Programming (OOP), Software Design Patterns, Debugging, Computer Programming, Unit Testing, Programming Principles, Algorithms, C (Programming Language), Program Development, Integrated Development Environments, Graph Theory, Software Testing, Artificial Intelligence, Integration Testing, Software Design, System Design and Implementation
Intermediate · Specialization · 3 - 6 Months
University of California, Santa Cruz
Skills you'll gain: Go (Programming Language), File I/O, Data Structures, C (Programming Language), C and C++, Programming Principles, Object Oriented Programming (OOP), Debugging, C++ (Programming Language), Computer Programming, Unit Testing, Program Development, Computational Thinking, Integrated Development Environments, Computer Science, Pseudocode, Command-Line Interface, Software Testing, Algorithms, Integration Testing
Intermediate · Specialization · 3 - 6 Months

University of California, Santa Cruz
Skills you'll gain: File I/O, Debugging, Go (Programming Language), C (Programming Language), Program Development, Integrated Development Environments, Data Structures, Computer Programming, Algorithms
Beginner · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Scala Programming, User Interface (UI), Data Processing, Heat Maps, Interactive Data Visualization, Real Time Data, Big Data, Visualization (Computer Graphics), Geospatial Information and Technology, Geospatial Mapping, Data Manipulation, Data Transformation, Apache Spark, Spatial Data Analysis
Mixed · Course · 1 - 3 Months