This lesson shows how Bicep syntax organizes infrastructure as code. First, parameters like 'location' are defined with default values. Then, modules are called using the 'module' keyword, passing parameters to them. The module deploys resources, such as a storage account, using the passed parameters. After deployment, the module outputs values like the storage account ID. These outputs are accessed in the main Bicep file through the module's outputs property and can be assigned to outputs for use after deployment. This approach helps keep code modular and reusable. The execution table traces each step from reading parameters, calling modules, deploying resources, capturing outputs, and completing deployment. Variables like 'location' and module outputs change state as deployment progresses. Key moments clarify why parameters are passed to modules and how outputs are accessed. The quiz tests understanding of variable values, deployment steps, and parameter effects. The snapshot summarizes the core syntax and behavior of Bicep modules.