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.

LearnQuest
Skills you'll gain: Angular, JavaScript Frameworks, Model View Controller, Application Deployment, TypeScript, UI Components, Web Development Tools, Application Frameworks, Data Transformation, Event-Driven Programming, HTML and CSS, Application Design, Server Side, Dataflow, Front-End Web Development, Hypertext Markup Language (HTML), Restful API, Application Programming Interface (API), Web Applications, Network Routing
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: COBOL (Programming Language), Job Control Language (JCL), IBM DB2, z/OS, Mainframe Computing, Relational Databases, File Management, Data Management, Databases, Database Management Systems, Data Storage, Programming Principles, Command-Line Interface, Computer Programming
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Bash (Scripting Language), Scalability, Distributed Computing, Big Data, Operating Systems, Performance Tuning, File Systems, Linux, Scripting, Command-Line Interface, OS Process Management, Artificial Intelligence
Build toward a degree
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: PyTorch (Machine Learning Library), Deep Learning, Artificial Neural Networks, Computer Vision, Supervised Learning, Machine Learning, Network Architecture
Intermediate · Course · 1 - 3 Months

Codio
Skills you'll gain: Algorithms, C++ (Programming Language), Data Structures, Theoretical Computer Science, Computer Programming, Programming Principles, Computational Thinking
Intermediate · Course · 1 - 4 Weeks

LearnQuest
Skills you'll gain: Stored Procedure, Hibernate (Java), PL/SQL, Relational Databases, Object-Relational Mapping, SQL, Data Access, Java Platform Enterprise Edition (J2EE), Database Design, Databases, Java, Data Manipulation, Data Mapping, Java Programming, JUnit, Object Oriented Programming (OOP), Query Languages, Database Management, Database Systems, Transaction Processing
Beginner · Specialization · 1 - 3 Months

Universidad de los Andes
Skills you'll gain: TypeScript, Javascript, Scripting Languages, Data Structures, Web Development Tools, Object Oriented Programming (OOP), Programming Principles, Functional Design
Intermediate · Guided Project · Less Than 2 Hours

Icahn School of Medicine at Mount Sinai
Skills you'll gain: Anatomy, Pathology, Medical Terminology, Physiology, Patient Evaluation, Diagnostic Tests, Patient Treatment
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Scripting, Data Structures, Python Programming, Computer Programming, Programming Principles, Automation, Software Documentation, Problem Management, Debugging
Beginner · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Apache Maven, Spring Framework, Microservices, Spring Boot, Java, Java Programming, Back-End Web Development, Software Architecture, Server Side, Load Balancing, Cloud Development, Restful API, Systems Architecture, Web Applications, Scalability
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: Visualization (Computer Graphics), 3D Assets, Design Software, Software Installation, Functional Design, Technical Design, User Interface (UI), Data Import/Export
Intermediate · Course · 1 - 3 Months

University of Colorado System
Skills you'll gain: Simulations, C (Programming Language), Computational Thinking, Automation, Algorithms, Data Structures, Theoretical Computer Science, Programming Principles, File Management, Debugging
Beginner · Course · 1 - 4 Weeks