CS 604 Advanced Software Engineering
This advanced programming course reviews the latest trends in software engineering covering broad topics that lead to high quality software: waterfall and agile software development life-cycle (SDLC), object oriented programming, functional programming, UML diagramming, SOLID principles, clean code, continuous integration and continuous delivery, test driven development, QA automation, architecture with a focus on microservices and event based systems, scalability, fault tolerance, cloud based designs, containerization, monitoring, and web application security.
Prerequisite
CS 501 Introduction to Data Structures and
CS 551 Introduction to Object-Oriented Programming with Java (or Permission of Department)