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 California San Diego
Skills you'll gain: Growth Mindedness, Technical Communication, Adaptability, Algorithms, Overcoming Obstacles, Software Engineering, Verbal Communication Skills, Interpersonal Communications, Communication, Problem Solving, Self-Awareness, Collaboration, Complex Problem Solving, Data Structures
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Warehousing, Extract, Transform, Load, IBM DB2, Star Schema, PostgreSQL, Snowflake Schema, Data Mart, Data Architecture, Data Modeling, Database Design, Data Lakes, Data Integration, Data Validation, Data Cleansing, SQL
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Selenium (Software), Test Script Development, Test Automation, Eclipse (Software), Software Testing, UI Components, Integrated Development Environments, Web Applications, Java, Functional Testing
Beginner · Guided Project · Less Than 2 Hours

University of Colorado System
Skills you'll gain: Data Warehousing, Database Design, Data Integration, Extract, Transform, Load, Data Modeling, Star Schema, Relational Databases, Snowflake Schema, Business Intelligence, SQL, Data Mart, Pivot Tables And Charts, PostgreSQL, Data Transformation
Mixed · Course · 1 - 3 Months

Skills you'll gain: Computational Thinking, Python Programming, Scripting, Computer Programming, Programming Principles, Software Development
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Generative AI, Matplotlib, Plotly, Data Ethics, Data Visualization, Data Cleansing, Data Manipulation, Exploratory Data Analysis, Pandas (Python Package), Data Transformation, Interactive Data Visualization, Data Visualization Software, Data Storytelling, Data Analysis, Scikit Learn (Machine Learning Library), Jupyter, Python Programming, Machine Learning, Model Evaluation
Beginner · Course · 1 - 3 Months

Skills you'll gain: File I/O, C++ (Programming Language), Object Oriented Design, Object Oriented Programming (OOP), Debugging, Data Structures, C (Programming Language), Development Environment, Software Design Patterns, Computational Thinking, Computer Programming, Programming Principles, Data Persistence, Algorithms, Maintainability, Simulations, Data Management, Prototyping
Intermediate · Specialization · 1 - 3 Months

University of California San Diego
Skills you'll gain: Combinatorics, Theoretical Computer Science, Algorithms, Graph Theory, Computational Thinking, Operations Research, Applied Mathematics, Python Programming, Mathematical Modeling
Beginner · Course · 1 - 4 Weeks

Fractal Analytics
Skills you'll gain: Responsible AI, A/B Testing, Design Thinking, Ideation, Generative AI, AI Product Strategy, UI/UX Research, Brainstorming, Data Ethics, Experience Design, Innovation, User Research, Data Storytelling, Data Analysis, AI Enablement, Artificial Intelligence, Prompt Engineering, Critical Thinking, Business Consulting, Problem Solving
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: No-Code Development, Mobile Development, Google Sheets, Application Development, Application Design, Application Deployment, Data Structures, User Accounts, Personalized Service, User Feedback, Web Development, Marketing
Beginner · Guided Project · Less Than 2 Hours

University of Toronto
Skills you'll gain: Model View Controller, Apple iOS, Apple Xcode, Swift Programming, User Interface (UI), Mobile Development, UI Components, User Interface and User Experience (UI/UX) Design, Application Frameworks, Computer Programming
Mixed · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Apache Maven, Software Development Life Cycle, Unified Modeling Language, Object Oriented Programming (OOP), Build Tools, CI/CD, Object Oriented Design, Software Development Methodologies, Jenkins, Continuous Integration, Agile Methodology, Software Development Tools, Version Control, Software Design Patterns, Software Development, Test Driven Development (TDD), Computational Thinking, Cloud Development, Continuous Delivery, Programming Principles
Beginner · Specialization · 3 - 6 Months