The course schedule will adapt to the class' needs and pace, but the tentative outline is:
- Introduction to design and maintenance
- Collaborative version control, bug tracking, and project management
- DevOps: containers and continuous integration
- Linters and static analysis tools
- Code walkthroughs and reviews
- Software testing
- Software architecture
- Introduction to anti-patterns and design patterns
- Creational design patterns
- Structural design patterns
- Behavioral design patterns