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, Software Development Methodologies, Software Design Patterns, Development Environment, Unified Modeling Language, Software Engineering, Web Applications, Software Development Tools, Software Development, Application Deployment, Programming Principles, Front-End Web Development, Back-End Web Development, Software Documentation, Computer Programming, Python Programming
Beginner · Course · 1 - 3 Months

Skills you'll gain: Prompt Engineering, Cloud Deployment, Software Development Life Cycle, Cloud-Native Computing, Istio, Software Architecture, Kubernetes, CI/CD, Cloud Computing Architecture, React Redux, Node.JS, Responsive Web Design, Restful API, Django (Web Framework), Git (Version Control System), Web Design and Development, Server Side, Cloud Computing, Data Import/Export, Engineering Software
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Cloud Deployment, CI/CD, Software Development Life Cycle, Open Web Application Security Project (OWASP), Continuous Integration, Istio, Linux Commands, Software Architecture, Agile Software Development, Cloud Computing Architecture, Application Deployment, Test Driven Development (TDD), Gherkin (Scripting Language), Restful API, Git (Version Control System), DevOps, Grafana, Software Engineering, Data Import/Export, Application Development
Build toward a degree
Beginner · Professional Certificate · 3 - 6 Months

Skills you'll gain: Generative AI, Cloud Deployment, Artificial Intelligence, 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: Software Development Life Cycle, Object Oriented Programming (OOP), Java Programming, Java, Program Development, Software Development, Development Environment, Integrated Development Environments, Computer Programming, Software Engineering, Programming Principles
Beginner · Course · 1 - 4 Weeks

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), Software Development, Restful API, Object Oriented Programming (OOP), Object Oriented Design, Cloud Deployment, Database Management, Digital Transformation, Java Programming, Generative AI
Beginner · Professional Certificate · 3 - 6 Months

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

University of Alberta
Skills you'll gain: Agile Software Development, Project Risk Management, Requirements Analysis, Agile Methodology, Kanban Principles, Risk Management, Project Planning, Requirements Elicitation, Sprint Retrospectives, Requirements Management, Functional Requirement, Business Requirements, Sprint Planning, Software Development Methodologies, Software Development Life Cycle, Scrum (Software Development), Software Technical Review, Risk Management Framework, Product Management, Project Management
Beginner · Specialization · 3 - 6 Months

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

Skills you'll gain: Software Development Life Cycle, Linux Commands, Software Architecture, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Flask (Web Framework), Software Design, Version Control, File Management, Application Deployment, Linux, Software Development Methodologies, Software Design Patterns, Data Import/Export, Programming Principles, Web Scraping, Python Programming
Beginner · Specialization · 3 - 6 Months

University of California, Irvine
Skills you'll gain: Network Security, Computer Hardware, Computer Systems, TCP/IP, Information Technology, General Networking, Computer Literacy, Network Protocols, Operating Systems, Computer Networking, Software Systems, File Systems
Beginner · Course · 1 - 4 Weeks