Master software engineering for developing robust applications. Learn about software design, testing, and project management.

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

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

The Hong Kong University of Science and Technology
Skills you'll gain: Software Design Patterns, Requirements Analysis, Systems Development Life Cycle, Software Architecture, Acceptance Testing, Software Development Methodologies, Unified Modeling Language, Software Development Life Cycle, Configuration Management, Software Quality Assurance, Debugging, Software Design, Software Engineering, Software Testing, Object Oriented Design, Functional Requirement, Data Modeling, Systems Design, Project Management, Project Planning
Intermediate · Specialization · 3 - 6 Months
Duke University
Skills you'll gain: Java Programming, Software Design, Debugging, Software Engineering, Javascript, Computer Programming, Event-Driven Programming, Encryption, Algorithms, Image Analysis, Web Applications, Data Processing, Statistical Analysis, Data Import/Export, Predictive Modeling, Integrated Development Environments, Data Manipulation, Data Analysis, Web Servers, Cascading Style Sheets (CSS)
Beginner · Specialization · 3 - 6 Months

Skills you'll gain: Software Development Life Cycle, Software Architecture, Linux Commands, Bash (Scripting Language), Restful API, Shell Script, Git (Version Control System), GitHub, Flask (Web Framework), Software Design, Version Control, File Management, Scrum (Software Development), Application Deployment, Software Engineering, Linux, Data Import/Export, Programming Principles, Web Scraping, Python Programming
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, Application Security, Scrum (Software Development), Object Oriented Design, Software Architecture, User Experience Design, Software Quality (SQA/SQC), Requirements Analysis
Intermediate · 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

The Hong Kong University of Science and Technology
Skills you'll gain: Requirements Analysis, Unified Modeling Language, Object Oriented Design, Functional Requirement, Data Modeling, Object Oriented Programming (OOP), Systems Development Life Cycle, System Requirements, Software Development, Software Engineering, Software Systems, Project Planning, Project Management
Intermediate · Course · 1 - 3 Months

Scrimba
Skills you'll gain: Prompt Engineering, LangChain, Image Analysis, Responsible AI, OpenAI, LLM Application, Cloud Applications, Multimodal Prompts, Generative AI, Cloud API, Application Deployment, Prompt Engineering Tools, API Gateway, Generative AI Agents, Tool Calling, User Interface (UI), Data Ethics, Application Programming Interface (API), Open Source Technology, Software Engineering
Intermediate · Specialization · 3 - 6 Months

Skills you'll gain: Prompt Engineering, Generative AI, Generative Model Architectures, Generative AI Agents, Google Gemini, OpenAI, Responsible AI, Performance Tuning, Large Language Modeling, Software Development Tools, Code Review, Application Deployment, Software Documentation, Software Engineering, Artificial Intelligence, AI Personalization, Software Development, Software Quality Assurance, Debugging, Automation
Intermediate · Specialization · 3 - 6 Months

University of Colorado Boulder
Skills you'll gain: Service Level, Performance Testing, Software Engineering, Data Architecture, Web Applications, Software Architecture, Scalability, Functional Requirement, Distributed Computing, Databases, Microservices, Acceptance Testing, Application Deployment, Predictive Modeling, Application Development, Application Performance Management, Software Testing, Development Testing, System Design and Implementation, Big Data
Build toward a degree
Advanced · Specialization · 1 - 3 Months

Skills you'll gain: Prompt Engineering, Prompt Patterns, Generative AI, Large Language Modeling, Responsible AI, ChatGPT, Artificial Intelligence, Software Development Tools, Software Testing, Test Automation, Software Development, DevSecOps, Application Security, CI/CD, AI Product Strategy, Natural Language Processing, Software Engineering, Artificial Intelligence and Machine Learning (AI/ML), Deep Learning, Image Quality
Intermediate · Specialization · 1 - 3 Months
Browse the software engineering courses below—popular starting points on Coursera.
If you aim to become a software engineer or enhance your existing skills, understanding your goal is vital. Regular practice in coding, software design, and project management is crucial. Join online communities like Stack Overflow or LinkedIn groups for support and networking. Work on real projects like developing software or contributing to open-source projects. Coursera’s Software Engineering Specialization by University of Alberta provides a thorough grounding in software engineering principles and practices.‎
Yes. You can start learning software engineering on Coursera for free in two ways:
If you want to keep learning, earn a certificate in software engineering, or unlock full course access after the preview or trial, you can upgrade or apply for financial aid.‎
Take our quick quiz to find the software engineering course that fits your goals—whether you're building programming fundamentals, exploring system design, or working toward a full-time engineering role. Take the quiz to discover the best place to begin.‎
Software engineering courses on Coursera provide learners with essential skills for designing, developing, and managing software projects, including:
Coursera’s software engineering courses cater to learners with varying levels of programming experience:
Participating in software engineering courses on Coursera can lead to a variety of credentials that demonstrate your capabilities:
Proficiency in software engineering can open up numerous career paths within the technology sector, such as: