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

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
Java Programming Fundamentals (edX) EdX
Galileo University,GalileoX

Java Programming Fundamentals (edX)

Your career as a program developer starts here. Gain entry-level programing skills in Java language, and prepare yourself to handle any task that is required in any programming job. Java is one of the most in-demand programming languages today. This course is designed to provide students the basic skills and knowledge on Java.

Self Paced
Self-Paced
Software Engineering: Introduction (edX) EdX
The University of British Columbia,UBCx

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.

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
Laboratorio di Programmazione (edX) EdX
University of Naples Federico II,FedericaX

Laboratorio di Programmazione (edX)

Impara a risolvere problemi complessi attraverso l'uso del computer e avvicinati alla magia degli algoritmi. Il linguaggio di programmazione è uno degli strumenti che abbiamo per interpretare e risolvere i problemi di tutti i giorni. Un linguaggio che è alla base di problemi comuni, come le previsioni del tempo o l'analisi della deformazione di una struttura di un'auto in un incidente stradale.

Self Paced
Self-Paced
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
HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

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
How to Code: Complex Data (edX) EdX
The University of British Columbia,UBCx

How to Code: Complex Data (edX)

Learn how to design more complex programs, using new data structures, abstraction, and generative recursion. As your program requirements get more complex, you will find that simple additions to the design method make it easy to write well-structured and well-tested code that is easy to maintain. By learning how to capture common data and control structures using abstraction, your programs will get shorter and better tested.

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
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