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: 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: Apache Maven, File I/O, Data Import/Export, Object Oriented Programming (OOP), JSON, Java Programming, Debugging, Object Oriented Design, JUnit, Software Documentation, Data Structures, Computer Programming, Restful API, Integrated Development Environments, Java, Programming Principles, Data Validation, Network Protocols, Unit Testing, Computer Science
Beginner · Specialization · 3 - 6 Months

Beginner · Course · 1 - 4 Weeks

Skills you'll gain: C++ (Programming Language), Software Documentation, System Programming, Technical Documentation, Application Development, Maintainability, Data Structures, Generative AI, Application Performance Management, Algorithms, Scalability
Beginner · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Unit Testing, Growth Mindedness, Data Structures, Graph Theory, Event-Driven Programming, Social Network Analysis, Interactive Data Visualization, Java, Java Programming, Network Analysis, Object Oriented Programming (OOP), Technical Communication, User Interface (UI), JUnit, Object Oriented Design, Computer Programming, Adaptability, Performance Tuning, Algorithms, Problem Solving
Intermediate · Specialization · 3 - 6 Months

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

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

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: 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

Duke University
Skills you'll gain: Program Development, Debugging, Python Programming, Computer Programming, Pseudocode, Game Design, Interactive Design, Design and Product, Creative Design, Computer Science
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: 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