# Computer Science Bachelor of Science degree

The Bachelor of Science in Computer Science (CS) degree is available with three options (tracks):

- Advanced Computing (AC)
- Software Development (SD)
- General Track (GT)

All three options contain a common core of fundamental courses in the science of computing, with essential emphasis on theory, practice and applications. Further, courses in the AC track prepare graduates for post-graduate education in computer science and careers in the scientific computing sectors. The SD track prepares graduates for systems level software design and development, as well as for computer networking. The GT option is a general track and allows students more breadth in the choice of 400-level courses in meeting the CS requirements.

## Requirements for the Bachelor of Science Degree in Computer Science

The Bachelor of Science degree in Computer Science is built on a required core of course work in computer science, to which are added the requirements in the student’s selected track.

### Computer Sciences (CS Core) (27 credit hours)

CSIT 121 | Computer Science I | 3 |

CSIT 221 | Computer Science II | 3 |

CSIT 224 | Problem Solving Using Objects | 3 |

CSIT 231 | Systems Programming | 3 |

CSIT 241 | Discrete Mathematics for Computer Science I | 3 |

CSIT 311 | Assembly Language and Computer Organizations | 3 |

CSIT 321 | Paradigms of Programming Languages | 3 |

CSIT 341 | Data Structures | 3 |

CSIT 425 | Software Engineering | 3 |

## A. Advanced Computing (AC) Track - 56 credit hours:

This track is designed for students who intend to pursue graduate education in computer science or who seek careers in scientific computing and want to have solid foundations in the ever-lasting principles of the discipline combined with current techniques and tools.

### The AC track requires the CS Core, plus:

MATH 122 | University Calculus I | 4 |

MATH 123 | University Calculus II | 4 |

CSIT 242 | Discrete Mathematics for Computer Science II | 3 |

CSIT 431 | Introduction to Operating Systems | 3 |

CSIT 441 | Analysis and Design of Algorithms | 3 |

### Four additional computer science courses must be taken from at least 3 different areas

At least three courses must be at the 400 level:#### 1. Computer Architecture and Systems Software options

CSIT 411 | Programming for Embedded Microcontrollers | 3 |

CSIT 413 | Computer Architecture | 3 |

CSIT 435 | Data Communication and Networks II | 3 |

#### 2. Database and Information Systems options

CSIT 455 | Relational and Object Databases | 3 |

CSIT 456 | Information and Decision Support Systems | 3 |

#### 3. Theoretical Foundations options

CSIT 433 | Compiler Construction | 3 |

CSIT 443 | Theory of Computation | 3 |

#### 4. Languages and Applications options

CSIT 461 | Introduction to AI and Knowledge Engineering | 3 |

CSIT 462 | Computer Graphics | 3 |

CSIT 463 | Introduction to Digital Image Processing and Computer Vision | 3 |

### Courses from the following list may be taken as electives; they do not count in any of the above areas:

CSIT 490 | Seminar on Selected Topics | 3 |

CSIT 496 | Special Topics | 3 |

CSIT 497 | Thesis | 3 |

CSIT 499 | Senior Project | 3 |

CSIT 300 | Internship | 1-12 |

CSIT 291 | Special Topics | 3 |

CSIT 390 | Directed Study | 3 |

CSIT 201 | Computer Security and Ethics | 3 |

CSIT 400 | Directed Independent Study | 3 |

### Additional Requirements

Students must complete a minimum of 30 credit hours in Natural Sciences (BIOL, CHEM, GEO, PHYS) and Mathematics/Statistics (MATH/STAT). Of these, at least 3 credits must be in Mathematics/Statistics (in addition to CSIT 241, CSIT 242, MATH 122, and MATH 123) and must come from the following list, by advisement:

MATH 223 | University Calculus III | 4 |

MATH 231 | Linear Algebra | 4 |

MATH 325 | Numerical Analysis | 3 |

MATH 335 | Number Theory | 3 |

MATH 337 | Combinatorics | 3 |

MATH 341 | Geometry | 3 |

STAT 250 | Statistics for Scientists | 3 |

STAT 350 | Probability and Statistics | 3 |

At least 7 credits must be in Biology, Chemistry, Geosciences, or Physics, and at least one of these 7 credits must be a laboratory course.

(The above requirements may also be used to fulfill general education requirements, or requirements for a minor or second major.)

Students must complete at least 66 credit hours of non-CSIT courses.

## B. Software Development (SD) Track - 54-56 credit hours:

This track emphasizes computer systems development, design and architecture. It prepares graduates for systems-level programming, and for careers in system design, ensembles, architecture, and networking. The majority of course work is in the area of Computer Systems Software.

### The SD Track requires the CS Core, plus:

MATH 120 | Survey of Calculus I | 3 |

or | ||

MATH 122 | University Calculus I | 4 |

MATH 121 | Survey of Calculus II | 3 |

or | ||

MATH 123 | University Calculus II | 4 |

CSIT 201 | Computer Security and Ethics | 3 |

CSIT 242 | Discrete Mathematics for Computer Science II | 3 |

CSIT 455 | Relational and Object Databases | 3 |

### Four additional computer science courses must be taken from at least 3 different areas

At least three courses must be at the 400 level:#### 1. Computer Architecture and Systems Software

CSIT 411 | Programming for Embedded Microcontrollers | 3 |

CSIT 413 | Computer Architecture | 3 |

CSIT 431 | Introduction to Operating Systems | 3 |

CSIT 435 | Data Communication and Networks II | 3 |

CSIT 437 | Advanced Operating Systems | 3 |

#### 2. Database and Information Systems

CSIT 456 | Information and Decision Support Systems | 3 |

CSIT 473 | Data Warehousing and Mining | 3 |

#### 3. Theoretical Foundations

CSIT 433 | Compiler Construction | 3 |

CSIT 441 | Analysis and Design of Algorithms | 3 |

CSIT 443 | Theory of Computation | 3 |

#### 4. Languages and Applications

CSIT 333 | Mobile Applications Development | 3 |

CSIT 461 | Introduction to AI and Knowledge Engineering | 3 |

CSIT 462 | Computer Graphics | 3 |

CSIT 463 | Introduction to Digital Image Processing and Computer Vision | 3 |

### Courses from the following list may be taken as CS electives; they do not count in any of the above areas:

CSIT 490 | Seminar on Selected Topics | 3 |

CSIT 496 | Special Topics | 3 |

CSIT 497 | Thesis | 3 |

CSIT 499 | Senior Project | 3 |

CSIT 300 | Internship | 1-12 |

CSIT 291 | Special Topics | 3 |

CSIT 390 | Directed Study | 3 |

CSIT 400 | Directed Independent Study | 3 |

## C. General Track (GT) - 54-56 credit hours:

This track is designed to provide students with exposure to a significant range of topics within the computer science field, while at the same time ensuring their ability to select those courses that most interest them.

### Specifically, the GT track requires the CS Core, plus:

MATH 120 | Survey of Calculus I | 3 |

or | ||

MATH 122 | University Calculus I | 4 |

MATH 121 | Survey of Calculus II | 3 |

or | ||

MATH 123 | University Calculus II | 4 |

### Seven additional electives must be taken from at least 3 different areas.

At least three courses must be at the 400 level:

#### 1. Computer Architecture and Systems Software

CSIT 411 | Programming for Embedded Microcontrollers | 3 |

CSIT 413 | Computer Architecture | 3 |

CSIT 431 | Introduction to Operating Systems | 3 |

CSIT 435 | Data Communication and Networks II | 3 |

CSIT 437 | Advanced Operating Systems | 3 |

#### 2. Database and Information Systems

CSIT 455 | Relational and Object Databases | 3 |

CSIT 456 | Information and Decision Support Systems | 3 |

CSIT 473 | Data Warehousing and Mining | 3 |

#### 3. Theoretical Foundations

CSIT 242 | Discrete Mathematics for Computer Science II | 3 |

CSIT 433 | Compiler Construction | 3 |

CSIT 441 | Analysis and Design of Algorithms | 3 |

CSIT 443 | Theory of Computation | 3 |

#### 4. Languages and Applications

CSIT 333 | Mobile Applications Development | 3 |

CSIT 461 | Introduction to AI and Knowledge Engineering | 3 |

CSIT 462 | Computer Graphics | 3 |

CSIT 463 | Introduction to Digital Image Processing and Computer Vision | 3 |

### Courses from the following list may be taken as CS electives; they do not count in any of the above areas:

CSIT 490 | Seminar on Selected Topics | 3 |

CSIT 496 | Special Topics | 3 |

CSIT 497 | Thesis | 3 |

CSIT 499 | Senior Project | 3 |

CSIT 300 | Internship | 1-12 |

CSIT 291 | Special Topics | 3 |

CSIT 201 | Computer Security and Ethics | 3 |

CSIT 390 | Directed Study | 3 |

CSIT 400 | Directed Independent Study | 3 |

**Students may double major in Computer Science and Computer Information Systems by completing all requirements for both majors; the student is required to take at least 15 additional credit hours in the second major (credit hours from courses within the list of courses of the second major not used to satisfy requirements in the first major).**