The required course work in computer science provides the student with an understanding of the basic areas of computer science: structure of programming languages, operating systems, software engineering, algorithms and data structures, computer architecture, and the theory of computer science. Electives allow students to study additional topics such as database, high performance computing, networks, artificial intelligence and cybersecurity. A capstone experience allows students to use their accumulated knowledge of the field either through field experience, independent study, or as an undergraduate researcher in one of our laboratories.