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: File I/O, C and C++, Data Import/Export, C++ (Programming Language), Object Oriented Programming (OOP), Data Validation, Object Oriented Design, Programming Principles, Computer Programming, Data Structures, File Management, Integrated Development Environments, Data Store, Software Documentation, Computer Science, Functional Design, Pseudocode, Maintainability
Beginner · Specialization · 3 - 6 Months

Johns Hopkins University
Skills you'll gain: Performance Tuning, Data-oriented programming, System Programming, C and C++, Computer Architecture, Algorithms, Development Environment, Debugging
Intermediate · Course · 1 - 3 Months

University of Alberta
Skills you'll gain: Computational Thinking, Video Game Development, Game Design, Programming Principles, Animation and Game Design, Software Quality (SQA/SQC), Problem Solving, Computer Programming, Theoretical Computer Science, Program Development, Software Engineering, Python Programming, Algorithms, Pseudocode, Data Structures, Application Design, Debugging, Problem Management, Computer Science, Functional Testing
Beginner · Course · 1 - 3 Months

Skills you'll gain: C# (Programming Language), Software Architecture, .NET Framework, Distributed Computing, Scalability, Object Oriented Programming (OOP), Object-Relational Mapping, Microservices, Debugging, MongoDB, Data Access, Model View Controller, Performance Tuning, Computer Programming, Maintainability, NoSQL
Intermediate · Course · 1 - 4 Weeks

Rice University
Skills you'll gain: Apache Kafka, Apache Spark, Apache Hadoop, Distributed Computing, Dataflow, Java Programming, Java, Software Architecture, Systems Architecture, Scala Programming, Data Structures, System Programming, Programming Principles, Servers, Application Frameworks, Debugging, Algorithms, Performance Tuning, Functional Design, Performance Testing
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Rust (Programming Language), Relational Databases, Databases, Application Development, SQL, Object Oriented Programming (OOP), Data Structures, File I/O, Software Development, Command-Line Interface, Data Import/Export
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Programming Principles, Debugging, Computer Programming, Application Design, Computer Science, Maintainability, Object Oriented Programming (OOP), Software Development, Data Management, Algorithms, Software Architecture
Beginner · Course · 3 - 6 Months

Skills you'll gain: Computer Graphics, Visualization (Computer Graphics), C# (Programming Language), .NET Framework, Graphical Tools, Animations, Animation and Game Design, Image Analysis, User Interface (UI), User Interface (UI) Design, Application Development
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Generative AI, PyTorch (Machine Learning Library), Generative Model Architectures, Multimodal Prompts, Artificial Neural Networks, Deep Learning, Large Language Modeling, Tensorflow, Convolutional Neural Networks
Intermediate · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: NumPy, Debugging, Pandas (Python Package), Statistics, Data Analysis, Statistical Programming, Descriptive Statistics, Exploratory Data Analysis, Data Preprocessing, Data-oriented programming, Program Development, Numerical Analysis, Critical Thinking
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: File I/O, Unified Modeling Language, Visual Basic (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Data Modeling, Microsoft Development Tools, Computer Programming, .NET Framework, Software Engineering, Data Structures
Intermediate · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: R Programming, Rmarkdown, Tidyverse (R Package), Ggplot2, Data Import/Export, Data Visualization, Data Analysis, Data Visualization Software, Data Science, Data Manipulation, Data Storytelling, Statistical Analysis, Data Cleansing, Data Integration, Data Transformation, Communication
Beginner · Course · 1 - 4 Weeks