Computer Science is the study of algorithms and software systems: their theory, analysis, design, efficiency, implementation, maintenance, and application. Computer scientists seek to advance the fundamental understanding of how information is processed, as well as the practical design of software to perform specific functions. Computer science courses include, but are not limited to, the study of algorithm design, networks, security, programming languages, software engineering, graphics, databases, and artificial intelligence.

Computer Science majors are required to complete basic courses in calculus, core courses in programming and mathematical foundations, computer organization, data structures, software engineering, algorithmic theory, computer security, and systems software. An understanding of statistics is also required. Majors select senior-level courses from offerings such as graphics, artificial intelligence, networks, compilers, bioinformatics, architecture, parallel programming, cloud computing, big data, and database systems. A minor in Computer Science is also available.

Department of Computer Science laboratories are open to students 24/7. All major systems are networked and accessible by direct network connection from student residences.

Learning Outcomes

Students will:

  • Demonstrate proficiency in the areas of software design and development, computing systems, and algorithmic analysis. Students will, upon completing this program, have a thorough grounding in the key principles and practices of computing, and in the mathematical and scientific principles of computation
  • Be able to work effectively in groups to develop computational solutions to complex problems
  • Be able to communicate ideas effectively, both generally and specifically, with regard to technology and computing
  • Upon completing this program, either attend graduate school in computer science or find professional computer-related employment

Potential Occupations

The vast majority of Computer Science students are able to find related employment at graduation. The proven performance of CSU graduates has resulted in annual recruiting visits by a wide variety of commercial firms, government agencies, and research laboratories. Graduates have found employment as software developers and with research and development teams in government and industry. Internships are readily available that enhance skills and marketability.

Some career opportunities include, but are not limited to: systems programmer, software designer, computer researcher, software engineer, software tester, systems administrator, security systems designer, database programmer, consultant, technical product support personnel, and educator.

Concentrations