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.

EIT Digital
Skills you'll gain: Real-Time Operating Systems, Embedded Systems, Computer Programming, C (Programming Language), Real Time Data, System Design and Implementation, OS Process Management, System Requirements, Computer Architecture, Algorithms, Servers
Intermediate · Course · 1 - 3 Months

Johns Hopkins University
Skills you'll gain: Shiny (R Package), Rmarkdown, Plotly, Interactive Data Visualization, Data Visualization, Data Presentation, Data Visualization Software, R (Software), R Programming, Data Mapping, Statistical Reporting, Web Applications, Package and Software Management
Mixed · Course · 1 - 3 Months

University of Virginia
Skills you'll gain: Agile Product Development, User Story, Design Thinking, Product Improvement, Agile Methodology, Agile Software Development, Product Design, Product Development, User Centered Design, User Research, Persona Development, Innovation, Product Management, Discussion Facilitation, Software Development, Testability
Beginner · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Unit Testing, Data Structures, Java, Performance Tuning, Debugging, Programming Principles, Algorithms, Object Oriented Programming (OOP), Theoretical Computer Science
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Apache Hive, NoSQL, Apache Hadoop, Extract, Transform, Load, Big Data, Data Warehousing, Data Pipelines, Data Infrastructure, Cloud Management, Databases, SQL, Performance Tuning, Data Processing, Real Time Data, Query Languages, Database Management, Data Transformation, Data Analysis Expressions (DAX), Scalability, Distributed Computing
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Metadata Management, Extract, Transform, Load, Data Integration, Data Pipelines, Business Logic, Java, Data Import/Export, Data Transformation, Software Documentation, MySQL, Debugging
Mixed · Course · 1 - 4 Weeks

University of California, Irvine
Skills you'll gain: Objective-C (Programming Language), iOS Development, Apple iOS, Apple Xcode, Prototyping, Mobile Development, Application Development, C (Programming Language), Object Oriented Programming (OOP), Computer Programming, Programming Principles, Data Structures
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Regression Analysis, Time Series Analysis and Forecasting, Forecasting, People Analytics, Trend Analysis, Microsoft Excel, Statistical Modeling, Correlation Analysis, Predictive Analytics, Statistical Analysis, Data Analysis Software, Analytical Skills, Probability & Statistics, Graphing, Climate Change Adaptation, Data Manipulation
Mixed · Course · 1 - 3 Months

Skills you'll gain: Agile Methodology, User Story, Agile Software Development, Business Analysis, Sprint Retrospectives, Agile Project Management, Agile Product Development, Team Building, Process Design, Scrum (Software Development), Risk Management, Business Requirements, User Acceptance Testing (UAT), Business Valuation, Requirements Analysis, Project Management, Prioritization
Intermediate · Course · 1 - 3 Months
University of Michigan
Skills you'll gain: Network Security, Network Protocols, Network Architecture, TCP/IP, Web Applications, Computer Networking, Encryption, Network Infrastructure, Innovation, Hypertext Markup Language (HTML)
Beginner · Course · 1 - 3 Months

LearnQuest
Skills you'll gain: Apache Maven, Software Development Life Cycle, Unified Modeling Language, Object Oriented Programming (OOP), CI/CD, Build Tools, 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, Software Versioning, Cloud Development, Programming Principles
Beginner · Specialization · 3 - 6 Months

King Abdullah University of Science and Technology
Skills you'll gain: Statistical Analysis, Bioinformatics, Unix, Scientific Visualization, R Programming, Rmarkdown, Unix Commands, Data Analysis, Data Quality, Statistical Hypothesis Testing, Exploratory Data Analysis, Pandas (Python Package), Python Programming, NumPy, Data Manipulation
Beginner · Course · 1 - 4 Weeks