# Systems Thinking 101

Learn to model systems holistically with Sruja. Master the five core systems thinking concepts: parts and relationships, boundaries, flows, feedback loops, and context.

## Course Overview

Systems thinking helps you understand how components interact as part of a whole. This course teaches you to model systems using Sruja's architecture-as-code approach, enabling you to visualize and validate complex system interactions.

## What You'll Learn

- **Module 1: Fundamentals** - Core systems thinking concepts and why they matter
- **Module 2: Parts and Relationships** - Model components and their interactions
- **Module 3: Boundaries** - Define what's inside vs. outside your system
- **Module 4: Flows** - Visualize data and information movement through the system
- **Module 5: Feedback Loops** - Model cycles and reactive behaviors
- **Module 6: Context** - Capture the environment, dependencies, and stakeholders

## Prerequisites

- Basic familiarity with Sruja DSL (or complete [CLI Basics](../../tutorials/basic/cli-basics.md))
- Understanding of [C4 Model concepts](../../docs/concepts/c4-model.md)

## Learning Path

Each module contains hands-on examples with Sruja syntax. You'll write `.sruja` files, validate them with `sruja lint`, and export to Mermaid diagrams with `sruja export mermaid`.

## Why Systems Thinking?

- **full understanding**: See the whole system, not just parts
- **Natural patterns**: Model real-world interactions and feedback
- **Clear boundaries**: Understand what's in scope vs. context
- **Flow visualization**: See how data and information move
- **Valid cycles**: Feedback loops are natural, not errors

## Course Duration

Approximately 6-8 hours to complete all modules and exercises.

## Next Steps

Start with [Module 1: Fundamentals](module-1-fundamentals/module-overview.md) or review the [Beginner path](../../docs/beginner-path.md) for a complete learning journey.
