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: Database Design, Relational Databases, SQL, Databases, R Programming, Database Management, Data Science, Database Management Systems, Data Modeling, Data Analysis Software, Query Languages, Data Access, Data Manipulation, Data Analysis
Beginner · Course · 1 - 3 Months

Skills you'll gain: Musical Composition, Music, Computer Programming, Program Development, Programming Principles, Python Programming
Beginner · Guided Project · Less Than 2 Hours
University of Illinois Urbana-Champaign
Skills you'll gain: Computational Logic, Application Specific Integrated Circuits, Theoretical Computer Science, Data Structures, Verification And Validation, Computer Architecture, Systems Design, Algorithms, Computer Engineering, Mathematical Software, Design Software, Computer Programming Tools, Debugging, Digital Design, Software Development Tools
Intermediate · Course · 1 - 3 Months

Duke University
Skills you'll gain: Business Analytics, Business Metrics, Analytics, Business Process Improvement, Business Intelligence, Business Process, Tableau Software, Business Analysis, Data Analysis, Key Performance Indicators (KPIs), Web Analytics, Data-Driven Decision-Making, Digital Transformation, E-Commerce, Financial Services, SQL, Decision Making
Mixed · Course · 1 - 3 Months

Skills you'll gain: No-Code Development, Mobile Development, Google Sheets, Application Development, Application Design, Application Deployment, Data Structures, User Accounts, Personalized Service, User Feedback, Web Development, Marketing
Beginner · Guided Project · Less Than 2 Hours

Universidade de São Paulo
Skills you'll gain: Object Oriented Programming (OOP), Computer Programming, Python Programming, Algorithms, Data Structures, Computer Science, Computational Thinking, Maintainability, Software Testing, Performance Testing
Beginner · Course · 1 - 3 Months

University of California, Santa Cruz
Skills you'll gain: Bayesian Statistics, Statistical Modeling, Markov Model, Statistical Analysis, Regression Analysis, R Programming, Simulations, Statistical Inference, Data Analysis, Probability, Probability Distribution
Intermediate · Course · 1 - 3 Months
University of California San Diego
Skills you'll gain: Statistical Analysis, Experimentation, Usability Testing, A/B Testing, Statistical Hypothesis Testing, Data Analysis, UI/UX Research, R Programming, User Experience, Probability & Statistics, Human Computer Interaction, Statistics, Statistical Modeling, Regression Analysis
Intermediate · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Graph Theory, Algorithms, Network Routing, Social Network Analysis, Data Structures, Network Analysis, Network Model, Computer Programming
Intermediate · Course · 1 - 3 Months

Microsoft
Skills you'll gain: Microsoft Copilot, Programming Principles, Full-Stack Web Development, GitHub, Version Control, Program Development, Debugging, Computational Thinking, Pseudocode, Git (Version Control System), Web Design and Development, Computer Programming, Algorithms, Web Development, C# (Programming Language), Data Structures, Back-End Web Development
Beginner · Course · 1 - 3 Months

Akamai Technologies, Inc.
Skills you'll gain: Application Development, Scripting, MySQL, Data Structures, Python Programming, Program Development, Database Management, Web Applications, Computer Programming, File Management, Software Development Life Cycle
Beginner · Course · 1 - 3 Months

Skills you'll gain: Programming Principles, C++ (Programming Language), C and C++, Computer Programming, Integrated Development Environments, Computer Science
Beginner · Course · 1 - 4 Weeks