COE 332: Software Engineering & Design¶
The objective of this course is to introduce students to advanced computing concepts in software engineering, software systems design, cloud computing and distributed systems, and computational engineering. Through a series of assignments spanning the course of the semester, students will build a cloud-based, computational system to analyze a time series dataset and provide a web-accessible interface to their system.
- Week 1: Onboarding, Linux, Python Review
- Week 2: JSON, Unit Testing
- Week 3: Version Control, Intro to Containers
- Week 4: Advanced Containers, YAML, Docker Compose
- Week 6: Intro to APIs, Intro to Flask
- Week 7: Advanced Flask, Containerizing Flask
- Week 8: Intro to Databases and Persistence, Containerizing Redis
- Week 9: Container Orchestration with Kubernetes
- Week 10: Container Orchestration with Kubernetes, continued
- Week 11: Asynchronous Programming
- Week 12: Asynchronous Programming II
- Week 13: Continuous Integration, Integration Testing
- Week 14: Special Topics
Additional Resources¶
Class Repo: https://coe-332-sp21.readthedocs.io/