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: Programming Principles, Data Modeling, Data Integrity, Application Development, Data Maintenance, Debugging
Beginner · Course · 1 - 4 Weeks
Duke University
Skills you'll gain: Bayesian Statistics, Statistical Hypothesis Testing, Sampling (Statistics), Statistical Inference, Exploratory Data Analysis, Peer Review, Regression Analysis, R (Software), Statistical Reporting, Probability Distribution, Statistical Analysis, Statistics, Data Analysis Software, Data Analysis, Probability & Statistics, Probability, R Programming, Statistical Modeling, Statistical Methods, Data Visualization
Beginner · Specialization · 3 - 6 Months

University of Colorado System
Skills you'll gain: Cryptography, Data Encryption Standard, Encryption, Advanced Encryption Standard (AES), Application Security, Public Key Cryptography Standards (PKCS), Secure Coding, Data Security, Web Development, Email Security, PHP (Scripting Language), Brute-force attacks, Algorithms, User Provisioning
Intermediate · Course · 1 - 4 Weeks
Rice University
Skills you'll gain: Event-Driven Programming, Application Development, Interactive Design, Animations, Programming Principles, Computer Graphics, Python Programming, Game Design, Computer Programming
Mixed · Course · 1 - 3 Months

Skills you'll gain: R Programming, Ggplot2, Data Visualization, Data Manipulation, Exploratory Data Analysis, Statistical Programming, Data Science, Tidyverse (R Package), Statistical Modeling, Data Analysis, Regression Analysis, Data Structures, Statistical Analysis, Descriptive Statistics, Programming Principles, Data Transformation, Probability & Statistics
Intermediate · Course · 1 - 3 Months

Skills you'll gain: Data Persistence, File I/O, C (Programming Language), Debugging, Computational Thinking, Programming Principles, Program Development, Application Design, Command-Line Interface, Algorithms
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Java Programming, Java, Object Oriented Programming (OOP), Object Oriented Design, Eclipse (Software), Computer Programming, Development Environment, Integrated Development Environments, Data Structures, Software Installation
Beginner · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Tidyverse (R Package), Rmarkdown, R Programming, Ggplot2, Data Import/Export, Data Visualization, Data Manipulation, Data Visualization Software, Data Analysis, Data Science, Data Storytelling, Statistical Analysis, Relational Databases, Data Cleansing, Data Transformation, Statistical Programming, Data Integration, Software Installation, Programming Principles, Communication
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Prompt Engineering, OpenAI API, Generative AI, Scripting, Python Programming, Test Case, Application Programming Interface (API), Application Development, Machine Learning, Software Engineering
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Web Development, Web Servers, Restful API, System Programming, Debugging
Intermediate · Course · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: System Programming, Embedded Software, Linux, Embedded Systems, Debugging, Operating Systems, Peripheral Devices, Build Tools, Shell Script, File Systems, USB, Development Environment, C (Programming Language)
Advanced · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Matplotlib, Pandas (Python Package), NumPy, Data Visualization, Data Cleansing, Data Structures, Data Visualization Software, Predictive Analytics, Debugging, Object Oriented Programming (OOP), Data Manipulation, Regression Analysis, Python Programming, Data Science, Algorithms, Simulations, Data Preprocessing, Exploratory Data Analysis, Predictive Modeling, Data Analysis
Beginner · Specialization · 3 - 6 Months