BS Degree Requirements
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 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 and Software Engineering||4 s.h.|
|CSCI 340 - Computational Models||4 s.h.|
|CSCI 362 - Data Structures||4 s.h.|
|CSCI 366 - Database and Web Development||4 s.h.|
|CSCI 370 - Computer Architecture||4 s.h.|
|CSCI 380 - Operating Systems||4 s.h.|
|CSCI 420 - Software Engineering||4 s.h.|
* See placement policy for rules on which class to begin with.
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 and Virtual Reality||4 s.h.|
|CSCI 395 - Computer Networks||4 s.h.|
|CSCI 406 - Topics in Computer Science **||4 s.h.|
|CSCI 412 - E-Commerce: Concepts and Programming||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 426 - Adaptive Computing||4 s.h.|
|CSCI 435 - Compiler Construction||4 s.h.|
|CSCI 450 - Artificial Intelligence||4 s.h.|
|CSCI 456 - Robotics and Computer Vision||4 s.h.|
|CSCI 466 - Database Management Systems||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 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.
The student is required to take at least 22 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.|
|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
The student is required to take at least 11 s.h. of natural or physical sciences including at least two lab courses (University L label).
Every Computer Science major is required to complete ENGL 312 - Technical Writing.
Every Computer Science major must complete the General Education curriculum to satisfy degree requirements.