Undergraduate Programs

Our department offers a Bachelor of Science degree as the primary technical program for undergraduates and a Bachelor of Arts degree for students desiring a liberal arts focus or combining Computer Science with a non-engineering major. We also offer a Computer Engineering (CE) degree in partnership with the ECE department. The majority of our majors pursue the bachelor of science; formal objectives and outcomes for this program are listed below.

Here are some of the most popular program focus areas for majors in computer science, reflecting the particular strengths of the department and school:

Program Tracks

  • General Computer Science
    (the option of no option)
  • Interactive Systems:
    Robotics, Graphics, Vision
  • Natural Language Processing
  • Computational Biology
  • Fundamentals of Computing
  • Big Data
  • Systems & Networking
  • Information Security
  • Software Engineering
  • Video Game Design
  • Business Computing

Program Statistics

Students come and go from the CS major frequently, but we’ve captured here the enrollment statistics for the current academic year (as of start of fall), as well as the most recent graduating class.  These numbers include students pursuing both the BS and the BA degrees. In addition to these majors, another 60+ students are currently pursuing the CS minor across all class years.

Class of: 2016 2017 2018 2019 2020
1st majors 46 59 72 59 57
2nd majors 8 31 35 15 n/a
Total 54 90 107 74 57


BS Objectives and Outcomes

The B.S. in Computer Science degree program is accredited by the Computing Accreditation Commission of ABET, http://www.abet.org.

  • (What we want our graduates to be able to DO several years after graduation.)

    • Successfully engage in professional practice in the computing sciences or apply computer science tools and techniques to another field of interest.
    • Pursue advanced study in the computing sciences.
    • Behave in a professional and ethical manner.
    • Lead teams and provide vision for innovation.
    • Work successfully in both independent and team environments.
  • (What skills we expect our students to have by graduation, to facilitate the objectives.)

    • An ability to apply knowledge of computing and mathematics appropriate to the discipline.
    • An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
    • An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
    • An ability to function effectively on teams to accomplish a common goal.
    • An understanding of professional, ethical, legal, security and social issues and responsibilities.
    • An ability to communicate effectively with a range of audiences.
    • An ability to analyze the local and global impact of computing on individuals, organizations and society.
    • Recognition of the need for and an ability to engage in continuing professional development.
    • An ability to use current techniques, skills, and tools necessary for computing practice.
    • An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
    • An ability to apply design and development principles in the construction of software systems of varying complexity.
Back to top