Bachelor of Science in Computer Science

Admission Requirements

Satisfy the Application and Admission Requirements for Baccalaureate Programs.


Students are encouraged to develop their program with a computer science advisor.

Graduation Requirements

Major Requirements

Core Courses
CSCE A201Computer Programming I4
CSCE A211Computer Programming II4
CSCE A222Object-Oriented Programming I3
CSCE/EE A241Computer Hardware Concepts4
CSCE A248Computer Organization and Assembly Language Programming3
CSCE A311Data Structures and Algorithms3
CSCE A320Operating Systems3
CSCE A331Programming Language Concepts3
CSCE A351Automata, Algorithms and Complexity3
CSCE A360Database Systems3
CSCE A365Computer Networks3
CSCE A401Software Engineering3
CSCE A470Computer Science and Engineering Capstone Project3
Required Support Courses
ENGL A312Advanced Technical Writing3
or ENGL A414 Research Writing
MATH A251Calculus I4
MATH A252Calculus II4
MATH A261Introduction to Discrete Mathematics3
PHIL A305Professional Ethics *3
Basic Physics I
and Basic Physics I Laboratory *
or PHYS A211
General Physics I
and General Physics I Laboratory
Basic Physics II
and Basic Physics II Laboratory *
or PHYS A212
General Physics II
and General Physics II Laboratory
STAT A307Probability and Statistics4
WRTG A212Writing and the Professions3
or WRTG A211 Writing and the Humanities
or WRTG A213 Writing and the Sciences
or WRTG A214 Arguing Across Contexts
Upper Division Courses
Complete an additional 12 upper division credits in CSCE, MATH (excluding MATH A420 and MATH A495), or STAT. Nine of these credits must be in CSCE courses. A maximum of 3 credits of CSCE A395, a maximum of 3 credits of CSCE A495, and maximum of 6 credits of CSCE A498 may be applied to degree requirements.12

Must be taken in addition to General Education Requirements.

A grade of C or higher must be received in all CSCE, MATH and STAT courses required to satisfy the above program requirements.

All computer science majors must take a standardized test of knowledge of computer science approved by the CS faculty for the purpose of evaluating program effectiveness. There is no minimum score required for graduation. This test will normally be taken during the senior year.

A total of 120 credits is required for the degree, of which 42 credits must be upper division.

Honors in Computer Science

Students majoring in computer science are eligible to graduate with departmental honors if they satisfy the following requirements:

  1. Meet the requirements for Graduation with Honors.
  2. Meet the requirements for a BA/BS in Computer Science.
  3. Earn a grade point average of 3.50 or above in the major requirements.
  4. Complete a minimum of 12 upper division credits required for the major in residence.

Program Student Learning Outcomes

Students graduating with a Bachelor of Science in Computer Science will be able to:

  1. Apply knowledge of computing and mathematics appropriate to the discipline.
  2. Analyze a problem and identify and define the computing requirements appropriate to its solution.
  3. Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
  4. Function effectively on teams to accomplish a common goal.
  5. Demonstrate an understanding of professional, ethical, legal, security and social issues and responsibilities.
  6. Communicate effectively with a range of audiences, including technical and non-technical audiences for business, end-user, client and computing contexts.
  7. Analyze the local and global impact of computing on individuals, organizations and society.
  8. Recognize the need for and an ability to engage in continuing professional development.
  9. Use current techniques, skills, and tools necessary for computing practice.
  10. 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.
  11. Apply design and development principles in the construction of software systems of varying complexity.