EdX

Software Engineering Basics for Everyone (edX)

Offered by IBM,
Software Engineering Basics for Everyone (edX)

Build the foundation for an in-demand Software Engineering related career. Explore fundamental software engineering principles, processes, architecture, tools, and stacks. Hear from software experts discuss what it takes to be successful.

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

The demand for software engineers doubled according to the “State of Software Engineers” report by the tech specialist Hired. Nearly every industry uses software to accelerate its growth, providing a vast number of opportunities. With the importance of software engineers and the technical skillset required, it isn’t surprising that according to Indeed.com, “The good starting software engineer salary in the US is considered to be $113,211 per year. Competitive starting salaries will vary depending on location and cost of living.”
This course is suitable for anyone wanting to start in a software development related role, including those aspiring to be Software Engineers, IT Product and Project Managers, Scrum Masters, Information Developers, UI/UX Designers, QA Engineers, as well as Sales Executives, and Marketing Managers in the Tech industry. No prior programming experience or degree is required.
This course teaches you about the power of the Software Development Lifecycle (SDLC) and software development methodologies such as Agile. You will explore fundamental programming principles and foundations of design, architecture, and deployment, investigate skills that a software engineer needs and identify job opportunities with hands-on projects. You will also learn about programming basics and software development tools and stacks.
Throughout this course, you’ll hear first-hand experiences from expert software engineers to geta feel for the job and their perspectives. After completing this introductory course, you will be familiar with the software engineering tools, technologies, terminology, processes, and practices.
This course is part of the DevOps and Software Engineering Professional Certificate.

What you'll learn

  • Explain software engineering, Software Development Lifecycle (SDLC), and software development tools, technologies, and stacks.
  • Describe the difference between types of programming languages and create basic programming constructs such as loops and conditions using Python.
  • Outline approaches to application architecture and design, patterns, and deployment architectures.
  • Summarize the skills required in software engineering and describe the career options it provides.

Syllabus

Module 1: SDLC – The Software Development Lifecycle
What is Software Engineering?
Insiders’ Viewpoint: What is software engineering?
Introduction to the SDLC
Activity: Phases in the SDLC
Building Quality Software
Requirements
Software Development Methodologies
Software Versions
Software Testing
Software Documentation
Roles in Software Engineering Projects
Insiders’ Viewpoint: Job Roles in Software Engineering Teams

Module 2: Introduction to Software Development
Overview of the Web and Cloud Development
Learning Front-End Development
The Importance of Back-End Development
Teamwork and Squads
Insiders’ Viewpoint: Teamwork in Software Engineering
Pair Programming
Insiders’ Viewpoint: Pair Programming
Activity: Categorizing Front-end and Back-end Technologies
Introducing Application Development Tools
More Application Development Tools
Introduction to Software Stacks
Hands-on Lab: Getting Started With an IDE
Insiders’ Viewpoint: Tools and Technologies

Module 3: Basics of Programming
Interpreted and Compiled Programming Languages
Comparing Compiled and Interpreted Programming Languages
Query and Assembly Programming Languages
Understanding Code Organization Methods
Insiders’ Viewpoint: Types of languages
Activity: Programming Logic and Organizational Methods
Branching and Looping Programming Logic
Introduction to Programming Concepts Part 1, Part 2
Hands-on Lab: Programming Fundamentals with Python

Module 4: Software Architecture, Design, and Patterns
Introduction to Software Architecture
Software Design and Modeling
Object-Oriented Analysis and Design
Insiders’ Viewpoint: Importance of Design and Software Architecture
Activity: Create an Architectural Diagram
Approaches to Application Architecture
Architectural Patterns in Software
Application Deployment Environments
Production Deployment Components
Insiders’ Viewpoint: Deployment Architecture

Module 5: Job Opportunities and Skillsets in Software Engineering
What Does a Software Engineer Do?
A Day in the Life of a Software Engineer
Skills Required for Software Engineering
Insiders’ Viewpoint: Advice to Future Software Engineers
Insiders’ Viewpoint: Women in Software Engineering
Job Outlook for Software Engineers
Career Paths in Software Engineering
Software Engineering Job Titles
Insiders’ Viewpoint: Career Paths
Activity: Matching Roles with Responsibilities
Software Engineering Code of Ethics

Module 6: Final Quiz

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

Related Courses

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
Python for Data Science (edX) EdX
University of California, San Diego,UC San DiegoX

Python for Data Science (edX)

Learn to use powerful, open-source, Python tools, including Pandas, Git and Matplotlib, to manipulate, analyze, and visualize complex datasets. In the information age, data is all around us. Within this data are answers to compelling questions across many societal domains (politics, business, science, etc.). But if you had access to a large dataset, would you be able to find the answers you seek?

Self Paced
Self-Paced
Introducción a la programación en C: Instrucciones de control y ficheros de texto (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Instrucciones de control y ficheros de texto (edX)

En este curso aprenderás sobre condicionales, bucles y ficheros de texto en el lenguaje de programación C, uno de los más utilizados. Este curso en línea te permitirá continuar aprendiendo sobre conceptos para desarrollar habilidades de programación en el lenguaje C. Ahora los programas comienzan a cobrar vida y a volverse más interesantes.

Self Paced
Self-Paced
LAFF – On Programming for Correctness (edX) EdX
University of Texas at Austin,UTAustinX

LAFF – On Programming for Correctness (edX)

Learn to apply formal methods to systematically develop correct, loop-based programs, an essential skill for computer programmers. Is my program correct? Will it give the right output for all possible permitted inputs? Computers are now essential in everyday life. Incorrect programs lead to frustration in the best case and disaster in the worst. Thus, knowing how to construct correct programs is a skill that all who program computers must strive to master.

Self Paced
Self-Paced
How to Code: Simple Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Simple Data (edX)

Learn systematic program design - how to write programs that tell a clear story about what they do, are well-tested, and easy to improve. This programming course takes a unique approach, as it focuses on learning a systematic programming method rather than a programming language. This practical approach will help you channel your creativity so that you can program well in any language.

Self Paced
Self-Paced
Data Science and Agile Systems for Product Management (edX) EdX
University of Maryland, College Park,University System of Maryland - USM,USMx,UMD

Data Science and Agile Systems for Product Management (edX)

Deliver faster, higher quality, and fault-tolerant products regardless of industry using the latest in Agile, DevOps, and Data Science. Modern systems today must be designed for agility in order to outpace the competition. Concepts like Agile, DevOps, and Data Science were once considered only for the technology-based companies. Today that means every company. Because there is no greater currency than timely information for optimizing operations and meeting the needs of customers.

Self Paced
Self-Paced
CSS Basics (edX) EdX
World Wide Web Consortium - W3C,W3Cx

CSS Basics (edX)

Learn, from Microsoft and W3C experts, how to take your Web pages from bland to bold with the power of CSS styling. Have you just begun your journey into Web development? This course will introduce you to the basics of Web design and teach you how to style your Web site for a professional look and feel.

Self Paced
Self-Paced
Lernen objekt-orientierter Programmierung (edX) EdX
Technische Universität München - TUM,TUMx

Lernen objekt-orientierter Programmierung (edX)

Leicht zugänglicher Einstieg in die faszinierende Welt der Informatik und die Programmierung mit Java. Dieser Kurs bietet einen leicht zugänglichen Einstieg in die faszinierende Welt der Informatik. Dabei werden insbesondere die objekt-orientierte Programmierung und einfache Algorithmen behandelt. Sie lernen unter anderem, wie man kleine Programme in der populären Programmiersprache Java schreibt.

Aug 28th 2026
5-12 Weeks
MATLAB et Octave pour débutants (edX) EdX
École Polytechnique Fédérale de Lausanne,EPFLx

MATLAB et Octave pour débutants (edX)

Premiers pas dans MATLAB et Octave avec un regard vers le calcul scientifique. Commencer à utiliser un logiciel est toujours délicat, on ne sait jamais par où commencer. Dans ce cours nous allons nous concentrer sur la maîtrise d’Octave et MATLAB, de façon à pouvoir par la suite continuer à apprendre de manière indépendante.

Self Paced
Self-Paced
Introduction to the Internet of Things (edX) EdX
Universitat Politècnica de València,UPValenciaX

Introduction to the Internet of Things (edX)

This is a preliminary course in which we deal with the basics of electronics and programming using Arduino and ESP boards. Internet of Things (IoT) is the present and the future of technology. Either, if you have none, few or some experience with electronics and you want to develop it projects this course will give you the necessary kick start to start creating amazing devices capable of sensing, controlling physical signals.

Self Paced
Self-Paced
IT Fundamentals for Business Professionals: Software development (edX) EdX
Universitat Politècnica de València,UPValenciaX

IT Fundamentals for Business Professionals: Software development (edX)

Working with Information Technology (IT) without the necessary background? Learn the fundamentals of software development. This course is one of the 5 courses of an introductory business information systems series, designed to introduce you to the amazing world of Information Technology.

Self Paced
Self-Paced
Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced