Skip to content


Undergraduate Studies

The Department of Computer Science offers Bachelor of Science (BS) degrees in computer science and in software engineering. Both programs of study are based on a solid foundation of mathematics that includes calculus, linear algebra, and discrete mathematics. These are designed to offer students opportunities to prepare for careers in a rapidly changing profession, whether they choose to enter industry, business or government after graduation. Students are also prepared for graduate study, an important consideration in a field in which further education is strongly recommended.

The computer science and software engineering programs have the same basis in core computer science, including modern programming methodologies, the analysis of algorithms and data structures, and the study of operating systems. The computer science program continues with courses in advanced data structures, programming languages, and automata theory, whereas the software engineering program includes courses in requirements engineering, software validation and testing, and software architecture, culminating in a challenging project course in which students must demonstrate the use of software engineering techniques. Both programs offer a rich choice of application areas, including digital systems design, computer networks, embedded systems, computer imaging, data science, interactive graphic, virtual reality, machine learning, artificial intelligence and cognitive modeling, and human-computer interaction. (Click here to view the Bachelor in Computer Science)

The Bachelor of Science program in Computer Science is accredited by the Computing Accreditation Commission of ABET,

The Bachelor of Science program in Software Engineering is accredited by the Engineering Accreditation Commission of ABET,

You can verify our ABET accreditation by visiting ABET Accreditation.

BS Computer Science Program Educational Objectives

  • Graduates should have a successful, long-lived, computer science-based career path
  • Graduates should meet the needs of industry or academia
  • Graduates should contribute to and/or lead computer science-based teams
  • Graduates should actively pursue lifelong learning

BS Computer Science Student Outcomes

  • 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 trade-offs involved in design choices.
  • An ability to apply design and development principles in the construction of computing systems of varying complexity.

BS Software Engineering Program Educational Objectives

  • Graduates should have a successful, long-lived, software engineering-based career path
  • Graduates should meet the needs of industry or academia
  • Graduates should contribute to, and/or lead, software engineering based teams
  • Graduates should actively pursue lifelong learning

BS Software Engineering Student Outcomes

  • An ability to apply knowledge of mathematics, science, and engineering.
  • An ability to design and conduct experiments, as well as to analyze and interpret data.
  • An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability.
  • An ability to function on multidisciplinary teams.
  • An ability to identify, formulate, and solve engineering problems.
  • An understanding of professional and ethical responsibility.
  • An ability to communicate effectively.
  • The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.
  • A recognition of the need for, and an ability to engage in life-long learning.
  • A knowledge of contemporary issues in software engineering.
  • An ability to use the techniques, skills, and modern engineering tools necessary for practice in software engineering.

Enrollment and graduation data can be found here.

Interested Ph.D.?


Check out these videos by the Computing Research Association.