New Banner :) TEST UPDATE Learn more

Offered By: IBMSkillsNetwork

Software Engineering Fundamentals

Build the foundation for a software engineering-related career and become conversant about topics in this in-demand field. Explore fundamental principles, processes, architecture, tools, and stacks. Hear software experts discuss their experiences.

Continue reading
Premium

Course

Computer Science & Information Technology

5.0
(1 Review)

At a Glance

Build the foundation for a software engineering-related career and become conversant about topics in this in-demand field. Explore fundamental principles, processes, architecture, tools, and stacks. Hear software experts discuss their experiences.

Nearly every industry relies on proprietary software to accelerate its growth, providing a wide variety of opportunities. With the importance of software engineers and the skillset required, it isn’t surprising that the salary of a software engineer averages upwards of $100,000 annually in the US. If you want to investigate this sought-after field, this course is for you, no prior skills in software development are required. 
 
The course is intended for beginners who want to learn more about the field, including those just starting their careers, career-switchers, or anyone just wanting to become conversant with their software engineering colleagues about the industry. 

You will learn about the power of the Software Development Lifecycle (SDLC) and software development methodologies such as Agile. You 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, tools used for software development, and development stacks. 
 
Throughout this course, you’ll hear first-hand experiences from expert software engineers to get a feel for the job and listen to their perspectives. The course offers a number of labs that will help you get important hands-on experience. These include exploring an interactive development environment (IDE) and practicing basic programming concepts by developing the simple “Hello World” program in ten languages. After completing this introductory course, you will understand software engineering fundamentals including the tools, technologies, terminology, processes, and practices used in the industry. 

Course Syllabus

Module 1: What is Software Engineering? 
  • Introduction to the SDLC 
  • Phases of 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 
  • The Software Building Process and Associated Roles 
Module 2: Introduction to Software Development 
  • Overview of 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- and Back-End Technologies 
  • Introduction to Development 
  • Application Development Tools 
  • More Application Development Tools 
  • Software Stacks 
  • Hands-on Lab: Getting Started With an IDE 
  • Insiders' Viewpoint: Tools and Technologies 
  • Tools in Software Development 
Module 3: Introduction to Programming 
  • Comparing Compiled and Interpreted Languages 
  • Query and Assembly Languages 
  • Understanding Code Organization Methods 
  • Insiders' Viewpoint: Types of Languages 
  • Activity: Programming Logic and Organizational Methods 
  • Programming Languages and Organization 
  • Branching and Looping Programming Logic 
  • Introduction to Programming  
  • Hands-on Lab: Programming Fundamentals with Python 
  • Introduction to Programming Concepts 
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 
  • Software Architecture and Design 
  • Approaches to Application Architecture 
  • Architectural Patterns in Software 
  • Application Deployment Environments 
  • Production Deployment Components 
  • Insiders' Viewpoint: Deployment Architecture 
  • Software Architecture Patterns and Deployment Topologies 
Module 5: Job Opportunities and Skillsets  
  • 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 
  • Code of Ethics 

Learning Objectives:

• Describe how the Software Development Lifecycle (SDLC) facilitates software development, and identify the purposes of common development tools, technologies, and stacks used to develop enterprise software. 
• Compare and contrast types of programming languages and generate Python code using basic programming constructs such as loops and conditions. 
• Outline approaches to application architecture and design, patterns, and deployment. 
• Summarize how common soft and technical software engineering skills apply to different related roles and describe possible career pathways stemming from this skillset

Prerequisites 

Basic computer literacy 


Estimated Effort

14 Hours

Level

Beginner

Industries

Information Technology

Skills You Will Learn

Agile Software Development, Computer Programming, Front-End Development, Software Development, Software Engineering, Web Development

Language

English

Course Code

CS0131EN

Tell Your Friends!

Saved this page to your clipboard!

Stay Ahead in AI – Subscribe to Our Newsletter

Get latest insights, courses, and trends in AI and cognitive computing by joining our newsletter. Be the first to know about new learning opportunities, expert articles, and exclusive content.

Have questions or need support? Chat with me 😊