This course familiarizes students with the principles and best practices necessary for the analysis, design, development, deployment, and maintenance of modern full stack software applications. Major design concepts and patterns are introduced then analyzed in the context of their implementations in modern full stack, front end, and back-end application development frameworks. Students put the concepts to practice by planning and executing a complete application development project in a team over the course of the semester. Students completing the course will be competent full stack application developers with the perspectives necessary to plan and execute application development projects in any enterprise.

This course requires either an undergraduate background in computer science, computer engineering, or information technology, or equivalent programming experience.