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: IBM Cloud, Cryptography, Algorithms, Python Programming, Linear Algebra, Computational Thinking, Jupyter, Simulation and Simulation Software, Physics, Software Installation, Development Environment
Beginner · Course · 3 - 6 Months

Skills you'll gain: Back-End Web Development, Server Side, Middleware, Authentications, API Design, Application Programming Interface (API), User Accounts, Databases, JavaScript Frameworks, Scalability, GitHub, Development Environment, Data Validation
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Apache Spark, PySpark, Applied Machine Learning, Big Data, Machine Learning Methods, Data Storage Technologies, Data Preprocessing, Data Storage, Machine Learning Algorithms, Machine Learning, Distributed Computing, Data Processing, Data Science, Statistical Methods, Model Evaluation, Descriptive Statistics
Intermediate · Course · 1 - 4 Weeks

Johns Hopkins University
Skills you'll gain: Ggplot2, Scatter Plots, Plot (Graphics), Data Visualization, Data Visualization Software, Heat Maps, R Programming, Graphical Tools, Data Wrangling, Tidyverse (R Package), Graphics Software
Intermediate · Course · 1 - 4 Weeks

LearnQuest
Skills you'll gain: Test Driven Development (TDD), Unit Testing, Code Review, Maintainability, Testability, Software Testing, Debugging, Software Development, Python Programming
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Data Access, Relational Databases, Object Oriented Programming (OOP), JUnit, Data Integrity, SQL, Java Programming, Java, Databases
Beginner · Course · 1 - 4 Weeks

Scrimba
Skills you'll gain: TypeScript, Node.JS, Web Development Tools, React.js, Server Side, Javascript, Data Structures, Web Development, Data Validation, Web Design, Computer Programming
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Stored Procedure, Database Design, Git (Version Control System), Database Development, MySQL Workbench, MySQL, Databases, Database Application, Data Visualization Software, Version Control, SQL, Tableau Software, Data Modeling, Transaction Processing, Django (Web Framework), Project Management, Application Development
Intermediate · Course · 1 - 4 Weeks

Johns Hopkins University
Skills you'll gain: Remote Access Systems, Linux, Web Applications, Internet Of Things, Embedded Systems, Application Programming Interface (API), Robotics, Linux Commands, Command-Line Interface, Electronics, Control Systems, Electronic Systems, System Configuration, Python Programming, Hardware Troubleshooting, Software Installation, Peripheral Devices
Mixed · Course · 1 - 4 Weeks

University of Colorado System
Skills you'll gain: Object Oriented Design, Unity Engine, Game Design, Software Design Patterns, Data Structures, C# (Programming Language), Video Game Development, Programming Principles, Graph Theory, Software Architecture, Algorithms, Debugging
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Programming Principles, Information Technology, Operating Systems, Web Applications, Collaborative Software, Computer Literacy, Python Programming, Application Development, Microsoft Office, Linux, Microsoft Windows, Mac OS
Beginner · Course · 1 - 4 Weeks

Northwestern University
Skills you'll gain: Control Systems, Robotics, Automation Engineering, Simulations, Matlab, Mathematical Modeling, Engineering Calculations
Intermediate · Course · 1 - 4 Weeks