B.S. Computer Science Requirements

Department of Computer Science

There are two components of the B.S. degree in computer science. The first is the core, which all computer science majors must take. The second is an elective section, in which each major selects three courses, based on personal interest and career goals, from among advanced topics in computer science. This allows students to tailor their course work to their own needs, while ensuring that every student receives the same fundamental background in the canonical areas of computer science.

Before being admitted to the next computer science or mathematics course in a sequence, a grade of C- or better must be earned in every prerequisite course.

A C or better is required in CSCI 161 to take CSCI 162.

The Core Requirements

The objective of the core requirements is to provide the student with the skills that are considered to be fundamental to the study of computer science. This includes grounding in various aspects of programming, computer architecture, discrete mathematical structures, computational models, and data structures. In addition, a thorough background in mathematics and computer science theory provide a strong analytic component, as well as providing many useful concepts of interest to Computer Scientists.

Required Computer Science Courses
CSCI 140 - Discrete Structures 4 s.h.
CSCI 161 - Introduction to Programming I 4 s.h.
CSCI 162 - Introduction to Programming II 4 s.h.
CSCI 330 - Programming Languages 4 s.h.
CSCI 340 - Computational Models 4 s.h.
CSCI 362 - Data Structures 4 s.h.
CSCI 366 - Database Systems 4 s.h.
CSCI 370 - Computer Architecture 4 s.h.
CSCI 380 - Operating Systems 4 s.h.
CSCI 420 - Software Engineering 4 s.h.
Total   40 s.h.


Computer Science Elective Courses

The student is required to select a total of three courses (12 s.h.) from the list below. Up to four credits of CSCI 300/400 Co-Op may also be counted toward the elective credits.

Elective Computer Sciences Courses
CSCI 375 - Computer Graphics 4 s.h.
CSCI 395 - Computer Networks 4 s.h.
CSCI 406 - Topics in Computer Science ** 4 s.h.
CSCI 415 - Computer and Network Security 4 s.h.
CSCI 419 - Mobile Device App Development 4 s.h.
CSCI 421 - Web Application Development 4 s.h.
CSCI 425 - Human Computer Interaction 4 s.h.
CSCI 435 - Compiler Construction 4 s.h.
CSCI 450 - Artificial Intelligence 4 s.h.
CSCI 452 - Data Mining 4 s.h.
CSCI 453 - Large-Scale Data Analytics and Visualization 4 s.h.
CSCI 467 - Design & Analysis of Algorithms 4 s.h.
CSCI 475 - 3D Game Programming and Computer Animation 4 s.h.
CSCI 476 - Parallel Programming 4 s.h.
CSCI 489/499 - Department Honors Thesis ** 4 s.h.
CSCI 498 - Independent Study in Computer Science ** 4 s.h.

** These courses may also be used in the elective group above with permission by the department.

Departmental Required-Related Courses

The student is required to take at least 20 s.h. of Mathematics and Natural or Physical Science courses.

Mathematics Courses

MATH 161 - Calculus I 4 s.h.
MATH 235 - Survey of Statistics 3 s.h.
MATH 304 - Matrix Algebra & Applications  4 s.h.
PHIL 312 or MATH 236 or higher
(but not 301, 304,405)
3-4 s.h.
Total  14-15 s.h.

See placement policy for rules on which class to begin with.

Natural/Physical Science Courses

Minimum 6 Credits in BIOL 100 or 211 or 221 or CHEM 111 or 112 or ESCI 221 or 222 or 241 or 245 or 261 or PHYS 131 or 231 or 132 or 232

Additional Major Requirements

Every Computer Science major is required to complete an Advanced Writing course. It must be one of:

  • ENGL 312 -- Technical Writing
  • ENGL 319 -- Science Writing

Every Computer Science major must complete the General Education curriculum to satisfy degree requirements.