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: Cross-Functional Collaboration, Project Management Software, Workflow Management, Organizational Skills, Project Management, Prioritization
Beginner · Guided Project · Less Than 2 Hours

LearnQuest
Skills you'll gain: Continuous Delivery, Test Driven Development (TDD), Unit Testing, Continuous Deployment, Continuous Integration, Agile Methodology, Test Automation, Code Review, Maintainability, Software Development, Mockups, Software Development Methodologies, Test Case, Development Testing, Testability, Software Testing, Debugging, Python Programming, Version Control
Intermediate · Specialization · 3 - 6 Months

Coursera
Skills you'll gain: SQL, PostgreSQL, Query Languages, Database Management, Database Systems, Data Manipulation
Advanced · Guided Project · Less Than 2 Hours

Skills you'll gain: Plot (Graphics), Data Visualization, Graphing, Matplotlib, Data Visualization Software, Graphical Tools, Histogram, Data Analysis, Python Programming
Beginner · Guided Project · Less Than 2 Hours

Macquarie University
Skills you'll gain: AI Security, Responsible AI, Cyber Security Strategy, Cyber Attacks, Cyber Threat Intelligence, Cybersecurity, Data Security, DevSecOps, Security Engineering, Artificial Intelligence, Threat Modeling, Cyber Governance, Artificial Intelligence and Machine Learning (AI/ML), Risk Management, Encryption, Application Programming Interface (API), Machine Learning, Governance, Regulation and Legal Compliance, Applied Machine Learning
Beginner · Course · 1 - 3 Months

Skills you'll gain: SAS (Software), Model Evaluation, Logistic Regression, Predictive Modeling, Classification And Regression Tree (CART), Big Data, Regression Analysis, Statistical Machine Learning, Feature Engineering, Statistical Analysis, Data Preprocessing
Intermediate · Course · 1 - 3 Months

Meta
Skills you'll gain: React Native, Mobile Development, GitHub, User Interface and User Experience (UI/UX) Design, Version Control, Wireframing, UI Components, User Flows, Data Store, JSON, Development Environment, SQL
Intermediate · Course · 1 - 4 Weeks

University of California San Diego
Skills you'll gain: Java, Pedagogy, Debugging, Object Oriented Programming (OOP), Computer Programming, Computational Thinking, Cultural Responsiveness, Digital pedagogy
Beginner · Course · 1 - 3 Months

Politecnico di Milano
Skills you'll gain: Application Specific Integrated Circuits, Amazon Elastic Compute Cloud, Cloud Infrastructure, Cloud Development, Amazon Web Services, Hardware Architecture, Cloud Applications, Performance Tuning, Computer Architecture, Development Environment, System Design and Implementation, Programming Principles
Intermediate · Course · 1 - 3 Months

École Polytechnique Fédérale de Lausanne
Skills you'll gain: Digital Signal Processing, Digital Communications, Communication Systems, Image Analysis, Telecommunications, Electrical Engineering, Electrical and Computer Engineering, Embedded Systems, Electronics, Algorithms
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Software Development Life Cycle, z/OS, COBOL (Programming Language), Unit Testing, Systems Analysis, Systems Development, Pseudocode, Agile Methodology, Software Development, Software Design, Systems Architecture, Mainframe Computing, Programming Principles, Scrum (Software Development), Software Testing
Beginner · Course · 1 - 3 Months

Duke University
Skills you'll gain: Pandas (Python Package), Data Cleansing, Data Manipulation, Data Preprocessing, Data Quality, NumPy, File I/O, Query Languages, Python Programming, Data Import/Export, Data Analysis, Exploratory Data Analysis, Debugging
Beginner · Course · 1 - 4 Weeks