Software Engineering for Beginners

(SOFTWARE-ENGG.AE3)/ISBN:978-1-64459-422-3

This course includes
Lessons
TestPrep
Hands-On Labs
AI Tutor (Add-on)

The Software Engineering for Beginners course unlocks your potential to develop cutting-edge software solutions. With comprehensive design, coding, testing, and project management coverage, this course equips you with the essential skills needed to excel in the industry. You'll learn from real examples that lead to real results. It contains interactive lessons with knowledge checks and quizzes, and hands-on labs to build and iterate on your code like a software developer.

Lessons

22+ Lessons | 131+ Exercises | 60+ Quizzes | 522+ Flashcards | 522+ Glossary of terms

TestPrep

45+ Pre Assessment Questions | 45+ Post Assessment Questions |

Hands-On Labs

27+ LiveLab | 12+ Video tutorials | 18+ Minutes

Here's what you will learn

Download Course Outline

Lessons 1: Introduction

  • WHAT IS SOFTWARE ENGINEERING?
  • WHY IS SOFTWARE ENGINEERING IMPORTANT?
  • WHO SHOULD READ THIS COURSE?

Lessons 2: Software Engineering from 20,000 Feet

  • REQUIREMENTS GATHERING
  • HIGH-LEVEL DESIGN
  • LOW-LEVEL DESIGN
  • DEVELOPMENT
  • TESTING
  • DEPLOYMENT
  • MAINTENANCE
  • WRAP-UP
  • EVERYTHING ALL AT ONCE
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 3: Before the Beginning

  • DOCUMENT MANAGEMENT
  • HISTORICAL DOCUMENTS
  • EMAIL
  • CODE
  • CODE DOCUMENTATION
  • APPLICATION DOCUMENTATION
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 4: The Team

  • TEAM FEATURES
  • TEAM ROLES
  • TEAM CULTURE
  • INTERVIEWS
  • PHYSICAL ENVIRONMENT
  • COLLABORATION SOFTWARE
  • OUTSOURCING
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 5: Project Management

  • EXECUTIVE SUPPORT
  • PROJECT MANAGEMENT
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 6: Requirements Gathering

  • REQUIREMENTS DEFINED
  • REQUIREMENT CATEGORIES
  • GATHERING REQUIREMENTS
  • REFINING REQUIREMENTS
  • RECORDING REQUIREMENTS
  • VALIDATION AND VERIFICATION
  • CHANGING REQUIREMENTS
  • DIGITAL TRANSFORMATION
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 7: High-Level Design

  • THE BIG PICTURE
  • WHAT TO SPECIFY
  • UML
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 8: Low-Level Design

  • DESIGN APPROACHES
  • OO DESIGN
  • DATABASE DESIGN
  • WHEN TO OPTIMIZE
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 9: Security Design

  • SECURITY GOALS
  • SECURITY TYPES
  • CYBERSECURITY
  • SHIFT-LEFT SECURITY
  • MALWARE MENAGERIE
  • PHISHING AND SPOOFING
  • SOCIAL ENGINEERING ATTACKS
  • CRAPWARE
  • PASSWORD ATTACKS
  • USER ACCESS
  • COUNTERMEASURES
  • CYBER INSURANCE
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 10: User Experience Design

  • DESIGN MINDSET
  • DESIGN GUIDELINES
  • FORM DESIGN
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 11: Programming

  • TOOLS
  • ALGORITHMS
  • TOP-DOWN DESIGN
  • PROGRAMMING TIPS AND TRICKS
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 12: Algorithms

  • ALGORITHM STUDY
  • ALGORITHMIC APPROACHES
  • ALGORITHM CHARACTERISTICS
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 13: Programming Languages

  • THE MYTH OF PICKING A LANGUAGE
  • LANGUAGE GENERATIONS
  • LANGUAGE FAMILIES
  • THE BEST LANGUAGE
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 14: Testing

  • TESTING GOALS
  • REASONS BUGS NEVER DIE
  • LEVELS OF TESTING
  • TESTING TECHNIQUES
  • TESTING HABITS
  • HOW TO FIX A BUG
  • ESTIMATING NUMBER OF BUGS
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 15: Deployment

  • SCOPE
  • THE PLAN
  • CUTOVER
  • DEPLOYMENT TASKS
  • DEPLOYMENT MISTAKES
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 16: Metrics

  • WRAP PARTY
  • DEFECT ANALYSIS
  • SOFTWARE METRICS
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 17: Maintenance

  • MAINTENANCE COSTS
  • TASK CATEGORIES
  • TASK EXECUTION
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 18: Predictive Models

  • MODEL APPROACHES
  • PREREQUISITES
  • PREDICTIVE AND ADAPTIVE
  • WATERFALL
  • WATERFALL WITH FEEDBACK
  • SASHIMI
  • INCREMENTAL WATERFALL
  • V-MODEL
  • SOFTWARE DEVELOPMENT LIFE CYCLE
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 19: Iterative Models

  • ITERATIVE VS. PREDICTIVE
  • ITERATIVE VS. INCREMENTAL
  • PROTOTYPES
  • SPIRAL
  • UNIFIED PROCESS
  • CLEANROOM
  • COWBOY CODING
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 20: RAD

  • RAD PRINCIPLES
  • JAMES MARTIN RAD
  • AGILE
  • XP
  • SCRUM
  • LEAN
  • CRYSTAL
  • FEATURE-DRIVEN DEVELOPMENT
  • DISCIPLINED AGILE DELIVERY
  • Primary Roles
  • Secondary Roles
  • DYNAMIC SYSTEMS DEVELOPMENT METHOD
  • KANBAN
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 21: Software Ethics

  • ETHICAL BEHAVIOR
  • RESPONSIBILITY
  • THOUGHT EXPERIMENTS
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Lessons 22: Future Trends

  • SECURITY
  • UX/UI
  • CODE PACKAGING
  • CLOUD TECHNOLOGY
  • SOFTWARE DEVELOPMENT
  • ALGORITHMS
  • TECH TOYS
  • SUMMARY
  • WHAT YOU LEARNED IN THIS LESSON

Hands-on LAB Activities

Software Engineering from 20,000 Feet

  • Understanding Software Development Project Phases

Before the Beginning

  • Sending an Email Using Confidential Mode
  • Documenting and Commenting on the HTML5 Code

The Team

  • Analyzing Team-Building Features

Project Management

  • Creating a PERT Chart
  • Creating a Gantt Chart

Requirements Gathering

  • Understanding the FURPS+ Categories
  • Understanding Requirements Techniques and Methods

High-Level Design

  • Understanding the Class Diagram Visibility Symbols

Low-Level Design

  • Normalizing Unnormalized Data to 1NF
  • Normalizing Data from 1NF to 2NF
  • Normalizing Data from 2NF to 3NF

User Experience Design

  • Customizing the Word's Ribbon Interface
  • Understanding Printer Configuration
  • Designing a Form

Programming

  • Using the Sorting Algorithm
  • Implementing Software Programming Using Factorial

Algorithms

  • Understanding Recursion
  • Implementing Caching Using ARP

Programming Languages

  • Using a Fourth-Generation Language to Retrieve Specific Data
  • Using an Object-Oriented Language to Create a Class

Testing

  • Understanding the Testing Techniques

Metrics

  • Creating an Ishikawa Diagram

Maintenance

  • Understanding the Types of Maintenance Tasks

Predictive Models

  • Understanding the Waterfall Model

Iterative Models

  • Understanding the Spiral Model

RAD

  • Understanding the RAD Model