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.
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.