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: Rust (Programming Language), Authentications, Back-End Web Development, Web Servers, Databases, Web Applications, Secure Coding, Restful API, Application Programming Interface (API), Programming Principles, Data Structures, Debugging
Intermediate · Course · 1 - 4 Weeks

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

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

Skills you'll gain: C# (Programming Language), Object Oriented Programming (OOP), Software Design Patterns, Software Architecture, Software Design, Secure Coding, Computer Programming, System Design and Implementation, Data Integrity, Maintainability, Scalability, Programming Principles, Code Review, Software Documentation, AI Workflows, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C and C++, Computer Programming, Embedded Software, Development Environment, Integrated Development Environments, Embedded Systems, Algorithms, Game Design, Debugging
Intermediate · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Debugging, Computer Programming Tools, Algorithms, Programming Principles, Computational Thinking, Digital pedagogy, Program Development, Technical Communication, Computer Programming, Education Software and Technology, Event-Driven Programming, Code Review, Diversity Equity and Inclusion Initiatives, Computer Science, Software Documentation, Brainstorming, Data Structures, Student Engagement, Visualization (Computer Graphics), Game Design
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Open Source Technology, Package and Software Management, Web Development, Linux, Shell Script, Database Design, Ubuntu, Relational Databases, Web Development Tools, Unix Shell, Test Driven Development (TDD), Python Programming, Linux Administration, Databases, Object Oriented Programming (OOP), Full-Stack Web Development, Scripting Languages, Computer Programming, Javascript, Database Management
Build toward a degree
Beginner · Specialization · 3 - 6 Months

National Taiwan University
Skills you'll gain: Programming Principles, Computer Programming, C (Programming Language), Data Structures, Algorithms, Computational Thinking, Functional Design, Debugging
Mixed · Course · 1 - 3 Months

Duke University
Skills you'll gain: Matplotlib, Pandas (Python Package), NumPy, Data Visualization, Data Cleansing, Data Structures, Data Visualization Software, Predictive Analytics, Debugging, Object Oriented Programming (OOP), Data Manipulation, Regression Analysis, Python Programming, Data Science, Algorithms, Simulations, Data Preprocessing, Exploratory Data Analysis, Predictive Modeling, Data Analysis
Beginner · Specialization · 3 - 6 Months

Board Infinity
Skills you'll gain: SAP S/4HANA, Business Logic, SAP Applications, Business Reporting, Debugging, Object Oriented Design, Report Writing, Programming Principles, Object Oriented Programming (OOP), User Interface (UI), Program Development, UI Components, Test Tools, Data Entry, Eclipse (Software), Software Engineering, Maintainability, Development Environment, Data Structures
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: PL/SQL, Oracle Databases, SQL, Stored Procedure, Data Access, Database Design, Programming Principles, Debugging, Relational Databases, Maintainability
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Linux, Linux Commands, C (Programming Language), System Programming, Command-Line Interface, Programming Principles, Development Environment, Computer Programming Tools, Software Installation, Data Structures, Program Development, Debugging
Mixed · Course · 1 - 3 Months