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: Data Import/Export, Data Analysis, Data Visualization, Programming Principles, Python Programming
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Bioinformatics, Scientific Visualization, Data Access, Extensible Markup Language (XML), Data Visualization, Data Wrangling, Database Software, Python Programming
Intermediate · Guided Project · Less Than 2 Hours

Duke University
Skills you'll gain: Jupyter, Microservices, AWS SageMaker, Cloud Engineering, Command-Line Interface, Data Pipelines, CI/CD, Package and Software Management, Containerization, Applied Machine Learning, Python Programming, Test Automation, Algorithms
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Computer Programming, Programming Principles, Data Import/Export, Data Structures, Integrated Development Environments, Python Programming, Computer Science
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Pseudocode, Computational Thinking, Debugging, Algorithms, Programming Principles, Front-End Web Development, Javascript, Computer Programming, Data Structures, Web Development
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Portfolio Management, Plotly, Data Visualization, Portfolio Risk, Investment Management, Exploratory Data Analysis, Financial Modeling, Financial Analysis, Statistical Analysis, Financial Data, Risk Modeling, Market Data, Finance, Equities, Data Analysis, Pandas (Python Package), Python Programming, Data Manipulation
Beginner · Guided Project · Less Than 2 Hours

Amazon
Skills you'll gain: Git (Version Control System), Software Development Methodologies, Requirements Analysis, Version Control, Application Development, Software Development Life Cycle, Systems Development, Functional Requirement, Software Engineering, User Requirements Documents, Agile Software Development, Application Design, Unified Modeling Language, Software Testing, JUnit, Agile Methodology, Spring Framework, Debugging, Java, Technical Design
Beginner · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Swift Programming, iOS Development, Apple iOS, Objective-C (Programming Language), Mobile Development, Application Development, Apple software proficiency, Application Servers, Object Oriented Programming (OOP), Data Structures, User Interface (UI)
Mixed · Course · 1 - 4 Weeks

University of Michigan
Skills you'll gain: Interactive Data Visualization, Interactive Design, Programming Principles, Visualization (Computer Graphics), Python Programming, Graphic and Visual Design, Computer Graphics, Computational Logic, Software Design, Computer Programming, Computational Thinking, File I/O, Data Structures, Animations
Beginner · Course · 1 - 3 Months

Skills you'll gain: Microsoft Azure, C# (Programming Language), Service Oriented Architecture, Cloud Storage, Microservices, Cloud Development, Cloud Applications, Distributed Computing, Cloud Services, Event-Driven Programming, Communication, Data Management
Intermediate · Course · 1 - 3 Months

Board Infinity
Skills you'll gain: Test Automation, Performance Testing, Software Quality Assurance, White-Box Testing, API Testing, Test Script Development, Debugging, Software Development Methodologies, User Acceptance Testing (UAT), JUnit, Maintainability, Development Testing, Selenium (Software), Scalability, Automation, Software Technical Review, DevOps, Regression Testing, Test Execution Engine, Security Testing
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Process Capability, Sampling (Statistics), R (Software), Correlation Analysis, Statistical Inference, Probability Distribution, Statistical Visualization, R Programming, Statistical Process Controls, Statistical Hypothesis Testing, Statistical Methods, Data Science, Statistics, Data Analysis, Statistical Analysis, Data Analysis Software, Probability, Descriptive Statistics, Quality Improvement, Process Engineering
Build toward a degree
Intermediate · Specialization · 3 - 6 Months