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.|
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 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.
|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)
See placement policy for rules on which class to begin with.
Natural/Physical Science Courses
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.