EdX

Software Engineering: Introduction (edX)

Software Engineering: Introduction (edX)

Learn how to apply engineering principles, such as Agile, to build a full-stack software system. You will learn software engineering principles that are applicable to the breadth of large-scale software systems. The course explores topics such as agile development, REST and Async programming, software specification, design, refactoring, information security, and more.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

This course, part of the Software Development MicroMasters Program, introduces how teams design, build, and test multi-version software systems.
By the end of this course, learners will work in teams, applying an agile software development process to specify, design, and test multiple versions of complex software systems.
Learners who enroll in the Verified track will receive staff grading and increased interaction with the instructor and staff.

What you'll learn

  • How to build a non-trivial software system using an agile approach in a pair or team
  • Techniques for specifying the functional and non-functional aspects of a software system
  • Techniques for designing and testing a software system
  • The role of refactoring in building a quality system

Prerequisites:
How to Code: Simple Data
How to Code: Complex Data
Software Construction: Data Abstraction
Software Construction: Object-Oriented Design

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Software Construction: Data Abstraction (edX) EdX
The University of British Columbia,UBCx

Software Construction: Data Abstraction (edX)

Learn powerful data abstraction and decomposition techniques to build large, complex programs. The course begins with the topic of data abstraction - from specification to implementation. Particular attention is given to how to write robust tests using JUnit. Then the course expands on these ideas to explore how type hierarchies and polymorphism can be used to decrease redundancy in your code. The course wraps up with a discussion of how to design robust classes.

Self Paced
Self-Paced
Agile Innovation and Problem Solving Skills (edX) EdX
University of Maryland, College Park,University System of Maryland - USM,USMx,UMD

Agile Innovation and Problem Solving Skills (edX)

Learn how to deliver greater value through Agile solution targeting and theory of constraints that unleash your team's innovative potential. Innovative products and services change lives, and having the right innovative process creates an competitive advantage. Ultimately, innovation is about one thing: problem solving.

Self Paced
Self-Paced
Software Construction: Object-Oriented Design (edX) EdX
The University of British Columbia,UBCx

Software Construction: Object-Oriented Design (edX)

Learn how to design large software systems that solve real-world problems using object-oriented design techniques. By the end of the course, you will have a solid foundation in Java and Object-Oriented Design, as well as many software development concepts that can be applied to any language.

Self Paced
Self-Paced
The Basics of Transport Phenomena (edX) EdX
Delft University of Technology,DelftX

The Basics of Transport Phenomena (edX)

Learn the basic framework to work on a broad spectrum of engineering problems concerning transfer of heat, mass and momentum. Learn through examples of everyday processes at home, in the lab and in industry. Have you ever wondered why ventilation helps to cool down your hot chocolate? Do you know why a surfing suit keeps you warm? Why iron feels cold, while wood feels warm at room temperature? Or how air is transferred into aqueous liquids in a water treatment plant? How can we sterilize milk with the least amount of energy? How does medicine spread in our tissue? Or how do we design a new cooling tower of a power plant? All these are phenomena that involve heat transfer, mass transfer or fluid flow.

Self Paced
Self-Paced
CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
Introduction to Discrete Choice Models (edX) EdX
École Polytechnique Fédérale de Lausanne,EPFLx

Introduction to Discrete Choice Models (edX)

The course introduces the theoretical foundations to choice modeling and describes the steps of operational modeling. Human behavior is complexand unpredictable. Or is it? The focus of this course is methods for predicting the behavior using mathematical models. More specifically, we'll explore choice modeling in order to obtain disaggregate demand models.

Self Paced
Self-Paced
Agile Process, Project, and Program Controls (edX) EdX
University of Maryland, College Park,University System of Maryland - USM,USMx,UMD

Agile Process, Project, and Program Controls (edX)

Learn Agile controls that get work done with confidence by using true transparency (actuals not estimates) and continuous improvement to ensure your people, process, and products deliver valuable, working solutions. Agile provides greater opportunities for control and risk management and offers unique benefits that traditional methods miss. As a project manager or program manager the emphasis should always be on delivering value and benefits. With complex projects these demand increase and knowing you've delivered value can be difficult for even those with years of project management experience.

Self Paced
Self-Paced
Solar Energy: Photovoltaic (PV) Technologies (edX) EdX
Delft University of Technology,DelftX

Solar Energy: Photovoltaic (PV) Technologies (edX)

Explore the main PV technologies in the current market. Get in-depth knowledge on the design and processing methods of solar cells. The technologies used to produce solar cells and photovoltaic modules are advancing to deliver highly efficient and flexible solar panels. In this course you will explore the main PV technologies in the current market.

Self Paced
5-12 Weeks
Introducción a la Ingeniería del Software (edX) EdX
Universidad Autonoma de Madrid,UAMx

Introducción a la Ingeniería del Software (edX)

Conoce las distintas fases de desarrollo por las que pasa un proyecto informático, así como las actividades de gestión necesarias para lograr finalizar el proyecto con éxito. ¿Alguna vez te has preguntado qué es y para qué sirve la Ingeniería de Software? ¿Quieres saber por qué es tan necesaria esta disciplina y por qué se utiliza tanto en entornos tecnológicos? ¿O cuál es el motivo de que muchos proyectos informáticos no finalizan en tiempo y coste o con la calidad deseada?

Self Paced
Self-Paced
Sprint Planning for Faster Agile Team Delivery (edX) EdX
University of Maryland, College Park,University System of Maryland - USM,USMx,UMD

Sprint Planning for Faster Agile Team Delivery (edX)

Drive speed into any project with prioritized backlogs, limiting work-in-process, and engaging the entire agile team in effective sprint planning. In this course, you'll learn how to drive speed into any project by selecting and limiting work-in-progress through agile planning and task management. There are two principle roles involved, the scrum master and the product owner. However, the entire scrum team needs to understand the principles behind backlog refinement, sprint planning, and execution throughout the sprint cycle.

Self Paced
Self-Paced
Unix Tools: Data, Software and Production Engineering (edX) EdX
Delft University of Technology,DelftX

Unix Tools: Data, Software and Production Engineering (edX)

Grow from being a Unix novice to Unix wizard status! Process big data, analyze software code, run DevOps tasks and excel in your everyday job through the amazing power of the Unix shell and command-line tools. Processing information is the hallmark of all modern organizations, which are increasingly digital: absorbing, processing and generating information is a key element of their business.

Self Paced
Self-Paced