AI curriculum

Course outline for Modern Software Engineering Foundations

When software becomes difficult to change, design choices need explicit evaluation. Apply engineering principles to structure an application and assess its reliability.

About Modern Software Engineering Foundations

When software becomes difficult to change, design choices need explicit evaluation. Apply engineering principles to structure an application and assess its reliability.

Modern Software Engineering Foundations Course Objectives

  • Compare object-oriented and functional designs.
  • Define API boundaries and service responsibilities.
  • Create a test plan for a small distributed application.

Pre-requisites

  • Ability to write small programs in one language.
  • Familiarity with basic application development.

Lab Setup

  • Computer with a code editor, a language runtime, and a test runner.
  • Use a local sample repository and synthetic data.

Detailed Course Outline

Proposed modules

Module 1: Structuring software

  • Software design principles
  • Object-oriented design
  • Functional programming
  • Design patterns

Practical outcome: Compare two designs for the same application requirement.

Module 2: Boundaries and reliability

  • API design
  • Distributed systems fundamentals
  • Microservices fundamentals
  • Testing and quality engineering

Practical outcome: Define service boundaries and checks for failure scenarios.

Practical exercise

  • Design a small application, implement one boundary, and test its behavior.

How we train

Contact us for full course details, including duration, delivery options and lab requirements.

Ask about exercises, instructor feedback and the prior knowledge you need. Tool-specific courses marked provisional may become modules in a broader course.

Discuss your learning goals