#### Computational Practice:

Students will implement significant programming projects. Students will perform analysis, specification, design, implementation, and testing resulting in quality computer software solutions. Students will use data structures, algorithms, programming languages, and software engineering techniques in their programming.

#### Computational Theory:

Students will use theoretical concepts in their programming. Students will have the theoretical computer science background and the mathematical and analytical maturity necessary to allow them to follow and adapt to technological changes in their discipline or to enter graduate programs in Computer Science. Students will use automata theory, mathematics, and abstraction to analyze problems and their algorithmic solutions.

#### Critical Thinking and Communication:

Students will think clearly and communicate well. They have the ability to gather relevant data, reason clearly, and persuasively express their conclusions orally and in writing.

#### Ethics and Computing:

Students will demonstrate the knowledge and spiritual foundation necessary to make ethical and responsible choices. They will be prepared to use their computing skills to make a positive impact on society.