Our Bachelor of Science in Computer Science degree introduces you to a scientific and practical approach to computation and its applications. In this degree program, you will learn about the theory, experimentation, and engineering that form the basis for the design and use of computers. Through completion of this degree, you will obtain a strong foundation in computer science fundamentals. You will also have the ability to focus your studies to areas such as artificial intelligence, software engineering, data science, security, or high performance systems.

Required Courses

CORE 16 – CREDITS

  • CS 0401 Intermediate Programming Using Java (*Also fulfills Dietrich School of Arts & Sciences Quantitative requirement)
  • CS 0441 Discrete Structures for Computer Science
  • CS 0445 Data Structures
  • CS 0447 Computer Organization and Assembly Language
  • CS 0449 Introduction to Systems Software

REQUIRED UPPER LEVEL COURSES – 9 CREDITS

  • CS 1501 Algorithm Implementation
  • CS 1502 Formal Methods in Computer Science
  • CS 1550 Introduction to Operating Systems

REQUIRED MATH AND STATISTICS – 11-12 CREDITS

  • MATH 0220 Calculus 1
  • MATH 0230 Calculus 2
  • STAT 1000 Applied Statistical Methods OR
  • STAT 1100 Statistics and Probability for Business Management OR
  • STAT 1151 Introduction to Probability

ELECTIVE UPPER LEVEL COURSES – 15 CREDITS

  • 5 regular CS courses – 1000 level or higher (internships, directed studies, CS 1640, and CS capstone courses may NOT be used as elective major courses).

CAPSTONE – 2-3 CREDITS

  • CS 1900 Internship
  • CS 1950 Directed Research
  • CS 1980 Team-Based Project Design / CS 1981 Project Studio
  • NGR 1093 Cooperative Education Program

Minors and Certificates

Minors and certificates offer you the opportunity to enhance your education and distinguish yourself.

Minor in Computer Science

A 16 credit minor in computer science is available. The minor is essentially 5 of the 6 courses that are considered the “core” of the CS major. This is a rigorous minor. This minor is not intended for casual students interested in computer literacy.

The requirements for the CS minor are:

  • CS 0401 INTERMEDIATE PROGRAMMING USING JAVA *
  • CS 0445 DATA STRUCTURES
  • CS 1501 ALGORITHM IMPLEMENTATION

Any two of the following three courses:

  • CS 0441 DISCRETE STRUCTURES FOR CS
  • CS 0447 COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGE
  • CS 0449 INTRODUCTION TO SYSTEMS SOFTWARE

*CS 0401 requires programming experience as a prerequisite. A student without any programming background would be advised to take the 3 credit course CS 0007 Introduction to Computer Programming as preparation for the course.