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: Multimodal Prompts, Generative AI, Model Evaluation, Generative Model Architectures, Image Analysis, Embeddings, Transfer Learning, Computer Vision, Performance Tuning
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Plot (Graphics), Scripting, Scientific Visualization, Visualization (Computer Graphics), Graphing, Programming Principles, Debugging, Matlab, Computational Thinking, Numerical Analysis, Data Manipulation, Linear Algebra
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Version Control, Software Documentation, Microsoft Copilot, Microsoft Visual Studio, Program Development, Statistical Analysis, Development Environment, Descriptive Statistics, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Unity Engine, Computer Graphics, Computer Graphic Techniques, Visualization (Computer Graphics), Augmented and Virtual Reality (AR/VR), Animations, Video Game Development, Performance Tuning, Image Quality, Debugging
Mixed · Course · 1 - 3 Months

University of California, Irvine
Skills you'll gain: Test Planning, Embedded Systems, User Requirements Documents, Functional Requirement, Systems Design, Requirements Analysis, System Design and Implementation, Software Design, Prototyping, Technical Design, Computer Hardware, Python Programming
Mixed · Course · 1 - 3 Months

Skills you'll gain: Unified Modeling Language, Visual Basic (Programming Language), Data Structures, Object Oriented Design, Data Modeling, Microsoft Visual Studio, Program Development, Programming Principles, Object Oriented Programming (OOP), .NET Framework, Computer Programming
Intermediate · Course · 1 - 4 Weeks

University of Colorado Boulder
Skills you'll gain: R Programming, Rmarkdown, Tidyverse (R Package), Ggplot2, Data Import/Export, Data Visualization, Data Analysis, Data Visualization Software, Data Science, Data Manipulation, Data Storytelling, Statistical Analysis, Data Cleansing, Data Integration, Data Transformation, Communication
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Ruby (Programming Language), Object Oriented Programming (OOP), Debugging, Development Environment, Integrated Development Environments, Computer Programming, Programming Principles, Apple Xcode, Software Installation, Microsoft Windows, Command-Line Interface
Beginner · Course · 1 - 3 Months

Skills you'll gain: Object Oriented Programming (OOP), Programming Principles, Computer Programming, Scripting Languages, Data Import/Export, Data Structures, Python Programming, Integrated Development Environments, Scripting, Data Persistence, Computational Logic, Computer Science, File Management
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Development Environment, Computer Graphics, Visualization (Computer Graphics), Cross Platform Development, Computer Graphic Techniques, C++ (Programming Language), Video Game Development, Program Development, Software Installation, System Configuration, Debugging
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Data Manipulation, Data Access, Data Import/Export, SAS (Software), Microsoft Excel, Data Analysis, Statistical Programming, Data Preprocessing, Debugging
Intermediate · Course · 1 - 3 Months

Logical Operations
Skills you'll gain: Excel Macros, Microsoft Excel, Data Transformation, Data Import/Export, File I/O, Data Wrangling, Extensible Markup Language (XML), Data Manipulation, Visual Basic (Programming Language), Data Cleansing, Spreadsheet Software, Automation, Microsoft 365, Microsoft Office, Data Science, Query Languages, File Management, Debugging, Performance Improvement, Computer Programming
Intermediate · Specialization · 3 - 6 Months