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: C# (Programming Language), Object Oriented Programming (OOP), Software Design Patterns, Software Architecture, Object Oriented Design, Software Design, Secure Coding, Computer Programming, System Design and Implementation, Data Integrity, Code Reusability, Maintainability, Scalability, Programming Principles, Software Documentation, AI Integrations
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Matplotlib, Pandas (Python Package), Plot (Graphics), NumPy, Data Cleansing, Data Structures, Scientific Visualization, Data Visualization Software, Predictive Analytics, Data Visualization, Statistical Visualization, Debugging, Data Presentation, Data Manipulation, Code Reusability, Object Oriented Programming (OOP), Python Programming, Simulations, Predictive Modeling, Data Analysis
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: System Programming, Embedded Software, System Software, Linux, Embedded Systems, Linux Administration, Debugging, Linux Commands, Operating Systems, File I/O, Peripheral Devices, Build Tools, Shell Script, Development Environment, Program Development, OS Process Management
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: PL/SQL, Oracle Databases, SQL, Stored Procedure, Programming Principles, Program Development, Maintainability, Records Management
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, File I/O, Data Structures, File Systems, Code Reusability, Algorithms, Performance Tuning, File Management
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Memory Management, Web Development, Performance Testing, System Programming
Intermediate · Course · 3 - 6 Months

Dartmouth College
Skills you'll gain: File I/O, Embedded Software, C and C++, C (Programming Language), Linux, Embedded Systems, System Programming, Build Tools, Linux Commands, Command-Line Interface, Operating Systems, Program Development, Computer Programming Tools, Code Reusability, Software Installation, Development Environment, Application Development, Make.com, Computer Programming
Beginner · Course · 1 - 3 Months

Board Infinity
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Flutter (Software), Scalability, Code Reusability, Software Design, Application Design, Dataflow, Program Development, Computational Logic, Functional Design, Application Development, Computer Programming, Software Architecture, Web Applications, Automation, Data Analysis
Beginner · Specialization · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Tidyverse (R Package), Rmarkdown, R Programming, Ggplot2, R (Software), Plot (Graphics), Data Visualization, Data Import/Export, Statistical Visualization, Data Wrangling, Statistical Reporting, Data Visualization Software, Data Presentation, Data Analysis, Data Science, Data Manipulation, Statistical Analysis, Relational Databases, Data Cleansing, Communication
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C# (Programming Language), Debugging, Programming Principles, Computer Programming, Development Environment, .NET Framework, Microsoft Development Tools, Code Reusability, Microsoft Visual Studio, Program Development, Integrated Development Environments, Software Development Tools, Application Development, Data Structures, Application Frameworks, Problem Solving
Beginner · Course · 1 - 3 Months

DeepLearning.AI
Skills you'll gain: LLM Application, Test Case, Large Language Modeling, Code Reusability, Software Documentation, Prompt Engineering, Debugging, Software Testing
Beginner · Project · Less Than 2 Hours