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
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 Cloud Computing (edX) EdX
IBM

Introduction to Cloud Computing (edX)

Master the core concepts in Cloud Computing, from service and deployment models, to cloud architecture, security, new technologies, and possible careers. This course introduces you to the core concepts of cloud computing. You will gain the foundational knowledge required for understanding cloud computing from both business and practitioner perspectives.

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
Python Data Structures (edX) EdX
University of Michigan,MichiganX

Python Data Structures (edX)

The second course in Python for Everybody explores variables that contain collections of data like string, lists, dictionaries, and tuples. Learning how to store and represent and manipulate data collections while a program is running is an important part of learning how to program.

Self Paced
Self-Paced
Introduction to Java Programming: Writing Good Code (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Writing Good Code (edX)

Learn to program in an easy and interactive way and enter the fascinating world of computer science. This is an introductory course to learn programming with Java designed to teach how to code good programs in Java, understanding “good” as both correct and efficient. Basic principles of software engineering will be introduced to make it easier for our future self and others to reuse code. Ethical issues and the intellectual property of our programs will also be addressed in the last part of this course. Examples and case studies will be provided, so that learners can implement simple but increasingly complex programs in Java.

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
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
Introducción a la programación en C: Tipos de datos y estructuras (edX) EdX
Universidad Autonoma de Madrid

Introducción a la programación en C: Tipos de datos y estructuras (edX)

Aprende a programar en C, uno de los lenguajes de programación más usados. En este curso en línea adquirirás los conocimientos necesarios para comenzar a convertirte en un experto en C. Este curso en línea te permitirá aprender los conceptos básicos que te ayudarán a desarrollar las habilidades de programación necesarias para iniciarte en el lenguaje C.

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
JavaScript Introduction (edX) EdX
World Wide Web Consortium - W3C,W3Cx

JavaScript Introduction (edX)

Learn JavaScript, a Web development programming language, to add interactivity to your Web pages, and become an expert Web developer. This computer science course is an initiation to JavaScript programming and has been designed to help Web developers have an understanding of the basic concepts of the language. This course was developed in partnership between W3C and University Côte d'Azur.

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