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: File I/O, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Import/Export, Data Structures, Python Programming, Data Persistence, Computational Logic, Code Reusability, Computer Science, Data Storage, File Management
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: File I/O, Programming Principles, Code Reusability, Scripting, File Management, Data Structures, Development Environment, Microsoft Visual Studio, Integrated Development Environments, Computer Programming, Software Installation, Program Development
Beginner · Course · 1 - 3 Months

Skills you'll gain: Programmable Logic Controllers, Animations, Human Machine Interfaces, Motion Graphics, UI Components, Control Panels, Interactive Design, Simulations, Interactive Data Visualization, Human Computer Interaction, Electrical Safety, User Interface (UI) Design, Program Development, Computational Logic, Authorization (Computing), System Configuration
Intermediate · Course · 1 - 3 Months

University of Colorado Boulder
Skills you'll gain: Embedded Software, Linux, Linux Administration, File Systems, Shell Script, Package and Software Management, Electrical Engineering
Advanced · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Unit Testing, Growth Mindedness, Data Structures, Graph Theory, Event-Driven Programming, Social Network Analysis, Interactive Data Visualization, Java, Java Programming, Network Analysis, Object Oriented Programming (OOP), Technical Communication, User Interface (UI), Peer Review, Object Oriented Design, Software Testing, Computer Programming, Program Development, Adaptability, Problem Solving
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Ruby (Programming Language), Debugging, Programming Principles, Data Structures, Object Oriented Programming (OOP)
Intermediate · Course · 1 - 3 Months
Skills you'll gain: Unified Modeling Language, File I/O, System Programming, Visual Basic (Programming Language), Database Management, System Software, Hardware Architecture, Databases, Relational Databases, Algorithms, Computer Architecture, Network Security, Computer Hardware, Development Environment, Data Structures, Object Oriented Programming (OOP), Object Oriented Design, Program Development, Computer Programming, Microsoft Development Tools
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Java Programming, Java, Integrated Development Environments, Mobile Development, Computer Programming, Programming Principles, Data Structures
Beginner · Guided Project · Less Than 2 Hours

Skills you'll gain: Java Programming, Java, Performance Tuning, Spring Framework, System Programming, Application Performance Management, Algorithms, JUnit, OS Process Management, Application Frameworks, Programming Principles, Spring Boot, Scalability
Beginner · Course · 1 - 3 Months

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

Skills you'll gain: Control Systems, Programmable Logic Controllers, Real-Time Operating Systems, Code Reusability, Program Development, Human Machine Interfaces, System Monitoring, System Configuration, Event Monitoring, Data Sharing
Advanced · Course · 1 - 4 Weeks

Skills you'll gain: C and C++, C++ (Programming Language), File I/O, Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Structures, Memory Management, Algorithms
Beginner · Course · 1 - 4 Weeks