Software engineering courses can help you learn programming languages like Python and Java, software development methodologies, version control systems, and testing practices. You can build skills in code optimization, debugging, and collaborative project management. Many courses introduce tools such as Git for version control, Docker for containerization, and integrated development environments (IDEs) like Visual Studio Code, which enhance your ability to develop, test, and deploy software efficiently.
University of Michigan
Skills you'll gain: Debugging, Programming Principles, Computer Programming, Python Programming, Integrated Development Environments, Computer Programming Tools, Computational Thinking, Software Installation
Beginner · Course · 1 - 3 Months

University of Alberta
Skills you'll gain: Software Architecture, Unified Modeling Language, Software Design, Product Family Engineering, Software Systems, Software Development, Software Documentation, Software Design Patterns, Middleware, Maintainability, Application Deployment, Scalability, Databases
Intermediate · Course · 1 - 4 Weeks

University of Minnesota
Skills you'll gain: Software Design Patterns, Software Design, Software Quality Assurance, Software Engineering, Program Development, Application Security, Object Oriented Design, Software Architecture, Software Quality (SQA/SQC), Development Testing, Threat Modeling, Maintainability, Development Environment, Code Review, Application Deployment, Continuous Deployment, Quality Assurance, Security Requirements Analysis, Continuous Delivery, Software Testing
Intermediate · Course · 1 - 3 Months

Duke University
Skills you'll gain: Object Oriented Programming (OOP), Java, Java Programming, Software Engineering, Programming Principles, Computer Programming, Software Design, Predictive Modeling, Algorithms, Data Structures, Performance Testing, File I/O, Debugging, Application Programming Interface (API)
Beginner · Course · 1 - 3 Months

DeepLearning.AI
Skills you'll gain: Software Documentation, LLM Application, Collaborative Software, Software Testing, Large Language Modeling, Dependency Analysis, Security Testing, Debugging, Software Engineering, Artificial Intelligence
Beginner · Course · 1 - 4 Weeks
University of Alberta
Skills you'll gain: Agile Software Development, Agile Methodology, Requirements Analysis, Software Development, Requirements Management, Product Management, Software Engineering, Project Planning, Process Development, Project Management
Mixed · Course · 1 - 4 Weeks
University of Alberta
Skills you'll gain: Project Planning, Sprint Planning, Risk Management Framework, Agile Software Development, User Story, Agile Methodology, User Requirements Documents, Functional Requirement, Agile Project Management, Requirements Analysis, Software Development
Mixed · Course · 1 - 4 Weeks
University of Colorado Boulder
Skills you'll gain: Power Electronics, Control Systems, USB, Electronic Systems, Simulations, Engineering Documentation, Semiconductors, Electrical Engineering, Engineering Design Process, Electrical Systems, Electronic Components, Electrical Power, Hardware Design, Electronics, Technical Communication, Electronics Engineering, electromagnetics, Electric Power Systems, Simulation and Simulation Software, Design Specifications
Build toward a degree
Intermediate · Specialization · 3 - 6 Months

University of Minnesota
Skills you'll gain: Software Testing, JUnit, Verification And Validation, Unit Testing, System Testing, Test Case, Test Automation, Development Testing, Test Planning, White-Box Testing, Code Coverage, Software Quality Assurance, Functional Testing, Test Data
Intermediate · Course · 1 - 4 Weeks

Skills you'll gain: Software Documentation, Generative AI, API Testing, Test Automation, Mockups, Software Development Tools, User Interface and User Experience (UI/UX) Design, Usability, Software Testing, AI Security, AI Workflows, Application Security, Maintainability, Prompt Engineering, Test Case, Software Architecture, Code Review, Secure Coding, Artificial Intelligence, Debugging
Beginner · Specialization · 1 - 3 Months

University of Colorado System
Skills you'll gain: Database Design, Software Design, Application Security, Vulnerability Assessments, Unified Modeling Language, Unit Testing, Threat Modeling, Usability Testing, User Interface and User Experience (UI/UX) Design, Data Flow Diagrams (DFDs), Open Web Application Security Project (OWASP), Software Architecture, Secure Coding, Object Oriented Design, Software Design Patterns, Database Management, Security Software, Systems Design, Software Development Life Cycle, Technical Design
Beginner · Specialization · 3 - 6 Months
University of Alberta
Skills you'll gain: Sprint Retrospectives, Scrum (Software Development), Software Technical Review, Agile Project Management, Agile Software Development, Software Quality Assurance, Agile Methodology, User Story, Requirements Analysis, Usability Testing, User Research
Mixed · Course · 1 - 4 Weeks