# Learning Outcomes

## Testing

* [ ] Understand the importance of code organisation, modularity, and reusability in C# and .NET (K7, S1, S11)
* [ ] Solidify C# skills, including object-oriented programming principles and .NET-specific features (K7, S1, S11, S12)
* [ ] Understand the differences between development, staging, and production environments in the context of .NET applications (K1, K3, K8)

## Deployment

* [ ] Understand the concept of infrastructure as code, particularly with tools like AWS CDK (K1, K5, K7)
* [ ] Configure the necessary environment variables and settings for deploying a .NET API (S10, S14)
* [ ] Have a good working understanding of the permissions involved when deploying on AWS, including security groups and IAM roles (K8, B5)
* [ ] Understand the process of building and optimising a .NET application for production (S10, S14, B3)
* [ ] Gain experience in using a continuous integration and deployment (CI/CD) pipeline with tools like GitHub Actions (S10, S14, B3)
