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: Java Programming, Java, Performance Tuning, Spring Framework, Application Performance Management, Algorithms, JUnit, OS Process Management, Application Frameworks, Programming Principles, Performance Testing, Spring Boot, Computer Architecture
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Video Game Development, Animations, Event-Driven Programming, Animation and Game Design, Game Design, Storyboarding, 3D Assets, Programming Principles, Computer Graphics, Computer Programming, Scripting, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Java Programming, Java, Integrated Development Environments, Mobile Development, Computer Programming, Programming Principles, Object Oriented Programming (OOP), Debugging, Data Structures
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Game Design, Programming Principles, Debugging, Data Modeling, Computational Thinking, Data Integrity, Program Development, Application Development, Data Maintenance, Computational Logic, Data Validation, Command-Line Interface, Application Design, Animation and Game Design, User Interface (UI), Algorithms, Data Structures
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Selenium (Software), Java, File Management, Cascading Style Sheets (CSS), Test Automation, Web Scraping, Data Validation, Web Development Tools, Hypertext Markup Language (HTML)
Intermediate · Course · 1 - 3 Months
Stanford University
Skills you'll gain: Algorithms, Bioinformatics, Graph Theory, Computational Thinking, Data Structures, Theoretical Computer Science
Intermediate · Course · 1 - 4 Weeks

University of California, Irvine
Skills you'll gain: Test Planning, Embedded Systems, Linux, Internet Of Things, Embedded Software, Basic Electrical Systems, Automation Engineering, User Requirements Documents, Electronics, Functional Requirement, Operating System Administration, Electronic Components, Systems Design, Operating Systems, Requirements Analysis, Network Protocols, Debugging, Application Programming Interface (API), TCP/IP, Python Programming
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: PHP (Scripting Language), Web Applications, Server Side, Hypertext Markup Language (HTML), Web Development, Web Servers, Scripting, Scripting Languages, Development Environment, Programming Principles, Data Validation
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: SAS (Software), Data Analysis, Requirements Analysis, Exploratory Data Analysis, Statistical Programming, Data Manipulation, Data Cleansing, Data Transformation, Data Import/Export
Intermediate · Course · 1 - 4 Weeks

University of London
Skills you'll gain: Interactive Design, Computer Graphics, User Interface and User Experience (UI/UX) Design, Mobile Development, Visualization (Computer Graphics), Animation and Game Design, Music, Application Development, Multimedia, Computer Programming, Digital Signal Processing
Mixed · Course · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: Apache Hadoop, Data Processing, Distributed Computing, Performance Tuning, Big Data, Software Architecture, Scalability
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Program Development, C and C++, C++ (Programming Language), Object Oriented Programming (OOP), Computer Programming, Development Environment, Software Development, Computer Science
Beginner · Guided Project · Less Than 2 Hours