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.

Johns Hopkins University
Skills you'll gain: Performance Tuning, OS Process Management, Data Structures, C and C++, Performance Testing, Distributed Computing, Hardware Architecture, Algorithms, Computer Architecture, Program Development, Debugging
Intermediate · Course · 1 - 3 Months

Vanderbilt University
Skills you'll gain: Prompt Engineering, ChatGPT, Matlab, AI Personalization, Debugging, LLM Application, Code Review, Integrated Development Environments
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: PHP (Scripting Language), Object Oriented Programming (OOP), Object Oriented Design, Software Design Patterns, Web Development, Maintainability, Software Engineering
Intermediate · Guided Project · Less Than 2 Hours

Skills you'll gain: Performance Tuning, Python Programming, Distributed Computing, OS Process Management, Scalability, Web Scraping, Database Management
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: C++ (Programming Language), Object Oriented Programming (OOP), Object Oriented Design, Programming Principles, Computer Programming, Data Structures, Algorithms, Debugging
Beginner · Course · 1 - 4 Weeks

Duke University
Skills you'll gain: Program Development, Debugging, Python Programming, Development Environment, Computer Programming, Game Design, Interactive Design, Design and Product, Algorithms, Computer Science
Beginner · Course · 1 - 4 Weeks

Skills you'll gain: Unified Modeling Language, Visual Basic (Programming Language), Object Oriented Programming (OOP), Data Modeling, Program Development, Microsoft Development Tools, Computer Programming, .NET Framework, Data Import/Export, Software Engineering, Data Structures, File Management
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Java Programming, Java, Performance Tuning, Spring Framework, Application Performance Management, Algorithms, JUnit, OS Process Management, Programming Principles, Distributed Computing, Spring Boot, Computer Architecture, Debugging
Beginner · Course · 1 - 3 Months

Skills you'll gain: Apple Xcode, UI Components, User Interface (UI), iOS Development, User Interface (UI) Design, Apple iOS, Mobile Development, User Interface and User Experience (UI/UX) Design, Swift Programming, Responsive Web Design, Application Design, Animations, Interactive Design, Data Visualization Software, Interactive Data Visualization, Application Development, Cross Platform Development, Programming Principles, Application Programming Interface (API), Web Content Accessibility Guidelines
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Unix Shell, Unix Commands, Unix, Shell Script, Bash (Scripting Language), Command-Line Interface, Remote Access Systems, Scripting, Systems Administration, Operating System Administration, Linux Commands, IT Automation, Linux, User Accounts, File Systems, System Monitoring, Operating Systems, File Management, Performance Tuning, System Programming
Beginner · Specialization · 1 - 3 Months

Skills you'll gain: Ruby (Programming Language), Debugging, Programming Principles, Scripting Languages, Data Structures, Object Oriented Programming (OOP)
Intermediate · Course · 1 - 3 Months

Duke University
Skills you'll gain: Java Programming, Object Oriented Programming (OOP), Data Structures, Java, Cryptography, Software Engineering, Computer Programming, Algorithms, Encryption, Data Analysis, Data Processing, Web Servers, File Management, Debugging
Beginner · Course · 1 - 3 Months