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.

University of Geneva
Skills you'll gain: Data-oriented programming, Computational Thinking, Operating Systems
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Performance Tuning, Python Programming, Distributed Computing, OS Process Management, Scalability, Web Scraping, Database Management
Intermediate · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Program Development, Debugging, Python Programming, Development Environment, Computer Programming, Game Design, Interactive Design, Design and Product, Algorithms, Computer Science
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: PHP (Scripting Language), Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Web Development, Maintainability, Software Engineering
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Java Programming, Java, Performance Tuning, Spring Framework, Application Performance Management, Algorithms, JUnit, OS Process Management, Programming Principles, Distributed Computing, Spring Boot, Computer Architecture, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Structures, Algorithms, Debugging
Beginner · Course · 1 - 4 Weeks

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

Skills you'll gain: Unix Shell, Unix Commands, Unix, Shell Script, Bash (Scripting Language), Command-Line Interface, Remote Access Systems, Scripting, Systems Administration, Operating System Administration, Linux Commands, IT Automation, Linux, User Accounts, File Systems, System Monitoring, Operating Systems, File Management, Performance Tuning, System Programming
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Ruby (Programming Language), Debugging, Programming Principles, Scripting Languages, Data Structures, Object Oriented Programming (OOP)
Intermediate · Course · 1 - 3 Months

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

Duke University
Skills you'll gain: Java Programming, Object Oriented Programming (OOP), Data Structures, Java, Cryptography, Software Engineering, Computer Programming, Algorithms, Encryption, Data Analysis, Data Processing, Web Servers, File Management, Debugging
Beginner · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Test Planning, Embedded Software, Embedded Systems, Functional Requirement, Systems Design, System Requirements, System Design and Implementation, Software Design, Prototyping, Technical Design, Conceptual Design, Python Programming
Mixed · Course · 1 - 3 Months