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: Java Programming, Java, Performance Tuning, Spring Framework, Application Performance Management, Algorithms, JUnit, OS Process Management, Application Frameworks, Programming Principles, Performance Testing, Spring Boot, Computer Architecture
Beginner · Course · 1 - 3 Months

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: Development Environment, Computer Graphics, Visualization (Computer Graphics), Cross Platform Development, Computer Graphic Techniques, C++ (Programming Language), Video Game Development, Program Development, Software Installation, System Configuration, Debugging
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Game Design, Programming Principles, Debugging, Data Modeling, Computational Thinking, Data Integrity, Program Development, Application Development, Data Maintenance, Computational Logic, Data Validation, Command-Line Interface, Application Design, Animation and Game Design, User Interface (UI), Algorithms, Data Structures
Beginner · Specialization · 1 - 3 Months

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

Skills you'll gain: SAS (Software), Scripting, Debugging, Computational Logic, Statistical Programming, Automation, Data Processing, Data Manipulation, Maintainability
Beginner · 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

University of Colorado System
Skills you'll gain: Unity Engine, Video Game Development, Object Oriented Programming (OOP), C# (Programming Language), Event-Driven Programming, File I/O, UI Components, User Interface (UI), Debugging, Data Structures
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Rust (Programming Language), Data Structures, Package and Software Management, Maintainability, Algorithms, Software Testing, Unit Testing, Software Design Patterns, Development Testing
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Data Visualization, Seaborn, Flask (Web Framework), Programming Principles, Web Applications, Statistical Methods, Data Analysis Software, Pandas (Python Package), Probability & Statistics, Data Manipulation, Data Structures, UI Components
Intermediate · Course · 1 - 3 Months
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

Arizona State University
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Event-Driven Programming, Python Programming, User Interface (UI), Computer Programming, Human Computer Interaction, Application Development, Graphical Tools
Beginner · Course · 1 - 4 Weeks