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: Rust (Programming Language), Data Structures, Code Reusability, Package and Software Management, Memory Management
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Pandas (Python Package), Data Manipulation, Jupyter, Exploratory Data Analysis, Python Programming
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Kotlin
Intermediate · Guided Project · Less Than 2 Hours

Dartmouth College
Skills you'll gain: Computer Programming Tools, C (Programming Language), Programming Principles, Embedded Systems, Software Development Tools, Computer Engineering, Algorithms, Data Structures, Computer Programming, Computational Logic
Beginner · Course · 1 - 3 Months

Illinois Tech
Skills you'll gain: Test Driven Development (TDD), Python Programming, Object Oriented Programming (OOP), Object Oriented Design, Scripting Languages, Code Reusability, Test Script Development, Computer Programming, Unit Testing, File I/O, Development Testing, Web Development, Scripting, Program Development, Other Programming Languages, Database Software, Open Source Technology, Database Management, Database Development, Data Processing
Build toward a degree
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Android Jetpack, Android Studio, Android Development, Kotlin, Mobile Development, UI Components, Application Frameworks, Mobile Development Tools, Prototyping, User Interface (UI), Application Development, Animations, User Interface (UI) Design, Data Management, Development Environment, Responsive Web Design, Programming Principles, Interactive Design
Beginner · Course · 1 - 3 Months

Edureka
Skills you'll gain: JUnit, Apache Maven, Java Programming, Java, Unit Testing, Software Design Patterns, Test Automation, Build Tools, Software Design, Data Access, Maintainability, Software Testing, IntelliJ IDEA, SQL, Computer Programming, Programming Principles, Object Oriented Programming (OOP), Software Engineering, Software Development, Design Strategies
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Spring Boot, Application Development, API Testing, Java Programming, Web Development, Program Development, Application Frameworks, Software Testing, Test Case, Secure Coding, Development Environment, Model View Controller, Software Development Tools, UI Components, Data Access, Authentications, SQL, Object Oriented Programming (OOP), Data Persistence, User Interface (UI)
Intermediate · Specialization · 1 - 3 Months

Skills you'll gain: Apache Maven, Java Programming, Java, Build Tools, Database Design, Database Development, Database Application, Eclipse (Software), Full-Stack Web Development, CI/CD, Web Applications, Code Reusability, Continuous Integration, Model View Controller, Web Development, Authentications, Authorization (Computing), Application Development, UI Components, Automation
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: C++ (Programming Language), Algorithms, Performance Tuning
Advanced · Course · 1 - 3 Months

Skills you'll gain: Apache Maven, Java, Object Oriented Design, Java Platform Enterprise Edition (J2EE), Build Tools, Application Servers, Memory Management, Hibernate (Java), Unit Testing, File I/O, Application Frameworks, Data Persistence, Docker (Software), Software Testing, Software Design Patterns, Integrated Development Environments, Object-Relational Mapping, Functional Design, Dependency Analysis
Beginner · Specialization · 3 - 6 Months

Scrimba
Skills you'll gain: React.js, UI Components, Front-End Web Development, Web Content Accessibility Guidelines, User Interface (UI), Code Reusability, JavaScript Frameworks, Web Development Tools, Web Frameworks, Cascading Style Sheets (CSS), Data Mapping
Intermediate · Course · 3 - 6 Months