Software courses can help you learn programming languages like Python, Java, and JavaScript, along with concepts such as algorithms, data structures, and software development methodologies. You can build skills in version control, debugging, and testing, which are crucial for creating reliable applications. Many courses introduce tools like Git for collaboration, integrated development environments (IDEs) for coding, and frameworks such as React or Django for building user interfaces and backend systems.

Skills you'll gain: Software Development Life Cycle, Software Architecture, Software Design, Scrum (Software Development), Software Engineering, Software Design Patterns, Agile Methodology, Software Development, Unified Modeling Language, Programming Principles, Application Development, Web Development, Front-End Web Development, Integrated Development Environments, Python Programming
Beginner · Course · 1 - 3 Months

Skills you'll gain: Prompt Engineering, OpenShift, Cloud Deployment, Serverless Computing, Software Development Life Cycle, Large Language Modeling, Cloud-Native Computing, Application Design, Professional Networking, HTML and CSS, Node.JS, GitHub, Object-Relational Mapping, JavaScript Frameworks, Server Side, Cascading Style Sheets (CSS), Containerization, Front-End Web Development, Jupyter, Flask (Web Framework)
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Open Web Application Security Project (OWASP), OpenShift, CI/CD, Linux Commands, Bash (Scripting Language), Cloud Deployment, Serverless Computing, Software Development Life Cycle, Agile Software Development, Test Driven Development (TDD), GitHub, Containerization, Continuous Integration, Cloud-Native Computing, DevOps, Jupyter, Grafana, Flask (Web Framework), Software Engineering, Application Development
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: File I/O, Git (Version Control System), Software Development Methodologies, JUnit, Requirements Analysis, Version Control, Application Development, Software Development Life Cycle, SQL, Full-Stack Web Development, Test Driven Development (TDD), Systems Development, Software Development, Functional Requirement, Restful API, Object Oriented Programming (OOP), Database Management, Digital Transformation, Java Programming, Generative AI
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Software Development Life Cycle, Object Oriented Programming (OOP), Java Programming, Java, Program Development, Software Development, Development Environment, Integrated Development Environments, Software Engineering, Programming Principles
Beginner · Course · 1 - 4 Weeks

The Hong Kong University of Science and Technology
Skills you'll gain: Software Design Patterns, Requirements Analysis, White-Box Testing, Software Architecture, Acceptance Testing, Software Development Methodologies, Unified Modeling Language, Software Development Life Cycle, Configuration Management, Debugging, Software Design, Process Driven Development, Software Engineering, Software Testing, Object Oriented Design, Functional Requirement, Data Modeling, Systems Design, Project Management, Project Planning
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Data Strategy, Artificial Intelligence, Generative AI, Data-Driven Decision-Making, Computer Programming
Beginner · Course · 1 - 3 Months

University of Alberta
Skills you'll gain: Software Architecture, Model View Controller, Unified Modeling Language, Object Oriented Design, Service Oriented Architecture, API Design, Web Services, Software Design Patterns, Software Design, Simple Object Access Protocol (SOAP), Microservices, Restful API, Code Review, Product Family Engineering, Software Systems, Object Oriented Programming (OOP), Software Development, Java, Software Documentation, Maintainability
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Linux Commands, Bash (Scripting Language), Software Development Life Cycle, Software Architecture, GitHub, Git (Version Control System), Shell Script, Software Design, Version Control, Jupyter, Scrum (Software Development), Flask (Web Framework), Software Engineering, Software Design Patterns, Linux, Agile Methodology, Pandas (Python Package), Programming Principles, Python Programming, Web Applications
Beginner · Specialization · 3 - 6 Months

Board Infinity
Skills you'll gain: Test Automation, Performance Testing, Software Quality Assurance, White-Box Testing, API Testing, Test Script Development, Debugging, Software Development Methodologies, User Acceptance Testing (UAT), JUnit, Maintainability, Development Testing, Selenium (Software), Scalability, Automation, Software Technical Review, DevOps, Regression Testing, Test Execution Engine, Security Testing
Beginner · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Software Configuration Management, Embedded Software, Embedded Systems, Git (Version Control System), Version Control, Build Tools, Software Development Tools, C (Programming Language), Development Environment, Software Technical Review, Software Design, Hardware Architecture, Computer Architecture, Debugging
Intermediate · Course · 1 - 4 Weeks

University of Minnesota
Skills you'll gain: User Story, Agile Software Development, Software Design Patterns, Design Thinking, Software Development Methodologies, Software Design, Agile Methodology, Agile Project Management, Process Mapping, Software Engineering, Kanban Principles, Software Development Life Cycle, Software Quality Assurance, Program Development, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, User Experience Design, Software Quality (SQA/SQC)
Intermediate · Specialization · 3 - 6 Months