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 London
Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Interactive Design, Program Development, File I/O, Command-Line Interface, Control Panels, Development Environment, Debugging
Build toward a degree
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Java Programming, Java, Integrated Development Environments, Mobile Development, Computer Programming, Programming Principles, Object Oriented Programming (OOP), Debugging, Data Structures
Beginner · Guided Project · Less Than 2 Hours
Duke University
Skills you'll gain: Bayesian Statistics, Statistical Hypothesis Testing, Sampling (Statistics), Statistical Inference, Exploratory Data Analysis, Peer Review, Regression Analysis, R (Software), Statistical Reporting, Probability Distribution, Statistical Analysis, Statistics, Data Analysis Software, Data Analysis, Probability & Statistics, Probability, R Programming, Statistical Modeling, Statistical Methods, Data Visualization
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: SAS (Software), Data Analysis, Exploratory Data Analysis, Statistical Programming, Data Manipulation, Data Transformation, Data Import/Export, Data Validation
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Embedded Systems, Embedded Software, C (Programming Language), Programming Principles, Data Structures, Computer Programming Tools, Development Environment, Debugging
Beginner · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Video Game Development, Animations, Event-Driven Programming, Animation and Game Design, Game Design, Storyboarding, 3D Assets, Programming Principles, Computer Graphics, Computer Programming, Scripting, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Program Development, C and C++, C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Development Environment, Software Development, Computer Science
Beginner · Guided Project · Less Than 2 Hours

Logical Operations
Skills you'll gain: Excel Macros, Microsoft Excel, Data Transformation, Data Import/Export, File I/O, Data Wrangling, Extensible Markup Language (XML), Data Manipulation, Visual Basic (Programming Language), Data Cleansing, Spreadsheet Software, Automation, Microsoft 365, Microsoft Office, Data Science, Query Languages, File Management, Debugging, Performance Improvement, Computer Programming
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Data Visualization Software, Graphing, Data Presentation, Histogram, User Interface (UI)
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, Integrated Development Environments, System Configuration
Beginner · Course · 3 - 6 Months

University of California, Irvine
Skills you'll gain: Test Planning, Embedded Systems, Linux, Internet Of Things, Embedded Software, Basic Electrical Systems, Automation Engineering, User Requirements Documents, Electronics, Functional Requirement, Operating System Administration, Electronic Components, Systems Design, Operating Systems, Requirements Analysis, Network Protocols, Debugging, Application Programming Interface (API), TCP/IP, Python Programming
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: SAS (Software), Scripting, Debugging, Computational Logic, Statistical Programming, Automation, Data Processing, Data Manipulation, Maintainability
Beginner · Course · 1 - 4 Weeks