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: Open Source Technology, Package and Software Management, Web Development, Linux, Shell Script, Database Design, Ubuntu, Relational Databases, Web Applications, Web Development Tools, Unix Shell, Test Driven Development (TDD), Python Programming, Linux Administration, Databases, Object Oriented Programming (OOP), Object Oriented Design, Scripting Languages, Javascript, Database Management
Build toward a degree
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Video Game Development, Game Design, Development Environment, UI Components, Data Structures, Computer Programming, Programming Principles, Program Development, Scripting Languages, Computational Logic, Code Reusability
Beginner · Course · 1 - 3 Months
Rice University
Skills you'll gain: Application Development, Object Oriented Programming (OOP), Video Game Development, Event-Driven Programming, Interactive Design, Animation and Game Design, User Interface (UI), Program Development, Animations, Game Design, Programming Principles, Python Programming, Computer Programming, Computer Graphics, Data Structures
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, C++ (Programming Language), Computer Programming, Code Reusability, Embedded Software, Development Environment, Control Systems, Integrated Development Environments, Microsoft Visual Studio, Embedded Systems, Web Applications, Computer Programming Tools, Electronics, Game Design, Electronic Components
Intermediate · Course · 1 - 3 Months

University of California San Diego
Skills you'll gain: Debugging, Computer Programming Tools, Algorithms, Programming Principles, Computational Thinking, Diversity Awareness, Digital pedagogy, Program Development, Technical Communication, Event-Driven Programming, Computer Programming, Computational Logic, Education Software and Technology, Collaborative Software, Cultural Responsiveness, Code Review, Diversity Equity and Inclusion Initiatives, Computer Science, Software Documentation, Brainstorming
Beginner · Specialization · 3 - 6 Months

Board Infinity
Skills you'll gain: Object Oriented Programming (OOP), Object Oriented Design, Java Programming, Spring Framework, Java, Spring Boot, Code Reusability, Programming Principles, Application Frameworks, Data Structures, Model View Controller, Development Environment
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: File I/O, Test Tools, Application Design, Software Documentation, Code Reusability, Maintainability, Package and Software Management
Advanced · Course · 3 - 6 Months

Skills you'll gain: Rust (Programming Language), Authentications, Back-End Web Development, Web Servers, Databases, Server Side, Web Applications, Restful API, Application Programming Interface (API), System Programming, Data Sharing, Data Structures, Memory Management
Intermediate · Course · 1 - 4 Weeks

Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Code Reusability, Maintainability, Program Development, Development Environment, Software Installation
Beginner · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Data Structures, Python Programming, Computer Programming, Data Visualization, Computational Thinking, Debugging
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Object Oriented Programming (OOP), Matplotlib, Plot (Graphics), Seaborn, File I/O, Data Visualization Software, NumPy, Python Programming, Code Reusability, Pandas (Python Package), Data Analysis, Program Development, Data Import/Export, Data Processing, JSON, Package and Software Management, Data Manipulation
Intermediate · Course · 1 - 4 Weeks