An algorithm describes how to carry out a problem-solving task implementable by computer programs. The design of an algorithm is tightly coupled with how information to be manipulated by it is organized i.e. data structuring. A course in Algorithm and Data Structure is therefore fundamental to a study in Computer Science.

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.