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: iOS Development, Apple iOS, Apple Xcode, Mobile Development, Swift Programming, Mobile Development Tools, Objective-C (Programming Language), User Interface (UI), Application Development, UI Components, Integrated Development Environments, Development Environment, Storyboarding
Beginner · Course · 1 - 4 Weeks

Johns Hopkins University
Skills you'll gain: Javascript, Ajax, JSON, Web Applications, Web Development, Scripting, Hypertext Markup Language (HTML), Object Oriented Programming (OOP), Event-Driven Programming, Web Services, Prototyping, Network Protocols
Mixed · Course · 1 - 4 Weeks

Skills you'll gain: Design Strategies, Project Design, Design, Consultative Approaches, Design Elements And Principles, Project Planning, Client Services, Project Management, Aesthetics
Beginner · Course · 1 - 4 Weeks

Michigan State University
Skills you'll gain: Unity Engine, Game Design, Video Game Development, Prototyping, 3D Modeling, Software Design Documents, Peer Review, Cross Platform Development, C# (Programming Language), User Interface (UI), 3D Assets, Software Design, Storytelling, Software Documentation, User Experience Design, Animation and Game Design, Conceptual Design, Computer Graphics, Ideation, Multimedia
Beginner · Specialization · 3 - 6 Months

Johns Hopkins University
Skills you'll gain: GitHub, Unix, Git (Version Control System), Unix Commands, Bash (Scripting Language), Ubuntu, Command-Line Interface, Cloud Computing, Shell Script, Linux, Mac OS, Scripting, Scripting Languages, File Management
Beginner · Course · 1 - 3 Months

Scrimba
Skills you'll gain: Prompt Engineering, Responsible AI, Multimodal Prompts, OpenAI, Generative AI, Data Ethics, ChatGPT, Artificial Intelligence, LLM Application, Application Programming Interface (API), Integration Testing, Computer Programming, Key Management
Intermediate · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Geographic Information Systems, Data Modeling, GIS Software, SQL, Database Design, Spatial Data Analysis, Database Management, Query Languages, Relational Databases, Data Capture, Data Storage
Beginner · Course · 1 - 3 Months

Skills you'll gain: Rmarkdown, Plot (Graphics), Box Plots, Descriptive Statistics, Scatter Plots, Histogram, Jupyter, Matplotlib, Data Presentation, Ggplot2, Statistical Visualization, Data Manipulation, R (Software), Statistical Hypothesis Testing, Regression Analysis, Correlation Analysis, Data Visualization, Data Analysis, R Programming, Python Programming
Beginner · Specialization · 3 - 6 Months
Skills you'll gain: Unix Commands, Command-Line Interface, Unix, Bash (Scripting Language), File Management, Shell Script, Linux Commands, Productivity, Computer Programming
Beginner · Guided Project · Less Than 2 Hours

Epic Games
Skills you'll gain: Unreal Engine, Game Design, Video Game Development, Animation and Game Design, Ideation, 3D Modeling, Visualization (Computer Graphics), Software Documentation, Software Design Documents, 3D Assets, User Experience Design, Computer Graphics, Usability, User Interface (UI), User Experience, User Interface (UI) Design, Interactive Design, Virtual Environment, Version Control, Prototyping
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Version Control, Continuous Integration, Functional Testing, Automation, Scripting, Web Scraping, UI Components, Hypertext Markup Language (HTML), File Management, Development Environment, Debugging, Command-Line Interface
Beginner · Specialization · 3 - 6 Months

University of California San Diego
Skills you'll gain: Growth Mindedness, Technical Communication, Willingness To Learn, Adaptability, Algorithms, Overcoming Obstacles, Software Engineering, Verbal Communication Skills, Interpersonal Communications, Communication, Problem Solving, Self-Awareness, Complex Problem Solving
Intermediate · Course · 1 - 3 Months