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.

University of Alberta
Skills you'll gain: Computational Thinking, Video Game Development, Game Design, Programming Principles, Animation and Game Design, Software Quality (SQA/SQC), Problem Solving, Computer Programming, Theoretical Computer Science, Program Development, Software Engineering, Python Programming, Algorithms, Pseudocode, Data Structures, Application Design, Debugging, Problem Management, Computer Science, Functional Testing
Beginner · Course · 1 - 3 Months

Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Computer Programming, Virtual Machines, Package and Software Management
Beginner · Course · 1 - 4 Weeks
Skills you'll gain: Unified Modeling Language, File I/O, Visual Basic (Programming Language), Database Management, System Software, Databases, Relational Databases, Algorithms, Computer Architecture, Network Security, Computer Hardware, SQL, Computer Science, Development Environment, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Computer Programming, Microsoft Development Tools, Programming Principles
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Plot (Graphics), Scripting, Scientific Visualization, Visualization (Computer Graphics), Graphing, Programming Principles, Debugging, Matlab, Computational Thinking, Numerical Analysis, Data Manipulation, Linear Algebra
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Version Control, Software Documentation, Microsoft Copilot, Microsoft Visual Studio, Program Development, Statistical Analysis, Development Environment, Descriptive Statistics, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Oracle SQL Developer, Oracle Databases, Data Integrity, Business Logic, Stored Procedure, SQL, Data Persistence, Database Design, Database Development, Performance Tuning, Relational Databases, Database Management Systems, Database Application, Database Management, Web Services, Data Access, Programming Principles, Computational Logic, Data Storage Technologies, Authorization (Computing)
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Unified Modeling Language, Visual Basic (Programming Language), Data Structures, Object Oriented Design, Data Modeling, Microsoft Visual Studio, Program Development, Programming Principles, Object Oriented Programming (OOP), .NET Framework, Computer Programming
Intermediate · Course · 1 - 4 Weeks

University of Geneva
Skills you'll gain: Data-oriented programming, Operating Systems, Simulation and Simulation Software
Intermediate · Course · 1 - 3 Months

Skills you'll gain: PHP (Scripting Language), Object Oriented Programming (OOP), Object Oriented Design, Web Development, Maintainability, Software Engineering
Intermediate · Guided Project · Less Than 2 Hours

University of California, Irvine
Skills you'll gain: Test Planning, Embedded Systems, User Requirements Documents, Functional Requirement, Systems Design, Requirements Analysis, System Design and Implementation, Software Design, Prototyping, Technical Design, Computer Hardware, Python Programming
Mixed · Course · 1 - 3 Months

Skills you'll gain: Programming Principles, Scripting, Scripting Languages, Data Structures, Development Environment, Microsoft Visual Studio, Integrated Development Environments, Computer Programming, Software Installation, Algorithms, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: C++ (Programming Language), File I/O, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Structures, Algorithms, Integrated Development Environments, Debugging
Beginner · Course · 1 - 4 Weeks