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: Object Oriented Programming (OOP), Unit Testing, Test Driven Development (TDD), Test Script Development, Programming Principles, Software Testing, Data Structures, Python Programming, Program Development, Computer Programming, Development Environment, Debugging, Django (Web Framework), Functional Design, Package and Software Management, Cloud Hosting
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Rust (Programming Language), Containerization, Data Pipelines, CI/CD, Docker (Software), Jenkins, Application Deployment, DevOps, LLM Application, Continuous Integration, Hugging Face, Large Language Modeling, Test Case, Restful API, Serverless Computing, Generative AI, Command-Line Interface, Natural Language Processing, Computer Programming, Cloud Computing
Beginner · Specialization · 3 - 6 Months

The University of Edinburgh
Skills you'll gain: Video Game Development, Game Design, Program Development, Software Engineering, Programming Principles, Animation and Game Design, Software Development, Event-Driven Programming, Computer Programming, Computer Programming Tools, Code Reusability, No-Code Development, Computational Thinking, Algorithms, Animations
Beginner · Course · 1 - 3 Months
Dartmouth College
Skills you'll gain: Memory Management, Command-Line Interface, C (Programming Language), Linux Commands, Linux, Computer Programming Tools, Embedded Systems, File I/O, Embedded Software, Software Visualization, Programming Principles, Computer Engineering, C and C++, Linux Servers, Algorithms, Computer Programming, Software Documentation, Computer Science, Software Engineering, Debugging
Beginner · Specialization · 3 - 6 Months

Microsoft
Skills you'll gain: Git (Version Control System), GitHub, Version Control, Debugging, Object Oriented Programming (OOP), Unit Testing, Development Testing, Test Case, Programming Principles, Data Structures, Software Development Tools, Algorithms, Maintainability, Python Programming, Software Development, Package and Software Management, Computer Programming, Development Environment, Code Reusability, Scripting
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), File I/O, Data Persistence, Object Oriented Design, Java, Java Programming, File Management, Memory Management, Code Reusability, Application Development, File Systems, Maintainability, Computer Programming, Software Design, Development Environment, Program Development, Programming Principles, Computer Programming Tools, Data Structures, Integrated Development Environments
Beginner · Specialization · 3 - 6 Months

University of Michigan
Skills you'll gain: Unified Modeling Language, JSON, Object Oriented Programming (OOP), File I/O, Software Design, Debugging, Object Oriented Design, Data Processing, Unit Testing, Programming Principles, Program Development, Python Programming, Data Import/Export, Data Wrangling, Restful API, Image Analysis, Software Documentation, Data Manipulation, Jupyter, Computer Programming
Beginner · Specialization · 3 - 6 Months

Amazon
Skills you'll gain: File I/O, Object Oriented Programming (OOP), Object Oriented Design, Code Reusability, Java Programming, Java, Software Design, File Management, Data Persistence
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Java Programming, Java, Memory Management, Development Environment, Programming Principles, Computer Programming Tools, Computer Programming, Integrated Development Environments, Data Structures, Software Installation
Beginner · Course · 1 - 3 Months

University of Michigan
Skills you'll gain: Memory Management, C (Programming Language), C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, C and C++, Programming Principles, Data Structures, Secure Coding, Algorithms, Software Design, Application Security, Other Programming Languages, System Programming, Python Programming, Computer Architecture, Computer Programming, Java, Unix
Intermediate · Specialization · 3 - 6 Months

Duke University
Skills you'll gain: Debugging, File I/O, Memory Management, Programming Principles, Maintainability, Software Testing, Program Development, C (Programming Language), Algorithms, Test Planning, Simulations, Test Case, System Programming, Computer Programming, Data Structures, Software Development, C and C++, Software Engineering, Problem Solving, Software Design
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: SAS (Software), Statistical Reporting, Data Import/Export, Data Validation, Data Access, Data Manipulation, Statistical Programming, Exploratory Data Analysis, Data Analysis Software, Data Preprocessing, Data Analysis, Data Transformation, SQL, Data Presentation, Microsoft Excel, Descriptive Statistics
Beginner · Course · 1 - 3 Months