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) (33 credit hours)

CSIT 121Computer Science I

3

CSIT 221Computer Science II

3

CSIT 224Problem Solving Using Objects

3

CSIT 231Systems Programming

3

CSIT 241Discrete Mathematics for Computer Science I

3

or

MATH 231Linear Algebra

4

CSIT 311Assembly Language and Computer Organizations

3

CSIT 321Paradigms of Programming Languages

3

CSIT 341Data Structures

3

CSIT 425Software Engineering

3

CSIT 431Introduction to Operating Systems

3

CSIT 455Relational and Object Databases

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 122University Calculus I

4

MATH 123University Calculus II

4

CSIT 242Discrete Mathematics for Computer Science II

3

CSIT 441Analysis and Design of Algorithms

3

Three additional computer science courses must be taken.

At least two courses must be at the 400 level:
CSIT 307Web Development with Ruby on Rails

3

CSIT 333Mobile Applications Development

3

CSIT 335Data Communication and Networks I

3

CSIT 411Programming for Embedded Microcontrollers

3

CSIT 413Computer Architecture

3

CSIT 433Compiler Construction

3

CSIT 435Data Communication and Networks II

3

CSIT 443Theory of Computation

3

CSIT 456Information and Decision Support Systems

3

CSIT 461Introduction to AI and Knowledge Engineering

3

CSIT 462Computer Graphics

3

CSIT 463Introduction to Digital Image Processing and Computer Vision

3

CSIT 473Data Warehousing and Mining

3

CSIT 475Electronic Commerce

3

One course from the following list may be taken as an elective:

CSIT 201Computer Security and Ethics

3

CSIT 291Special Topics

0-3

CSIT 300Internship

1-12

CSIT 390Directed Study

1-3

CSIT 400Directed Independent Study

1-3

CSIT 490Seminar on Selected Topics

1-3

CSIT 496Special Topics

1-3

CSIT 497Thesis

3

CSIT 499Senior Project

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 or MATH 231, CSIT 242, MATH 122, and MATH 123) and must come from the following list, by advisement:

CSIT 241Discrete Mathematics for Computer Science I

3

MATH 223University Calculus III

4

MATH 231Linear Algebra

4

MATH 325Numerical Analysis

3

MATH 335Number Theory

3

MATH 337Combinatorics

3

MATH 341Geometry

3

STAT 250Statistics for Scientists

3

STAT 350Probability 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 120Survey of Calculus I

3

or

MATH 122University Calculus I

4

MATH 121Survey of Calculus II

3

or

MATH 123University Calculus II

4

CSIT 201Computer Security and Ethics

3

CSIT 242Discrete Mathematics for Computer Science II

3

Three additional computer science courses must be taken.

At least two courses must be at the 400 level:
CSIT 307Web Development with Ruby on Rails

3

CSIT 333Mobile Applications Development

3

CSIT 335Data Communication and Networks I

3

CSIT 411Programming for Embedded Microcontrollers

3

CSIT 413Computer Architecture

3

CSIT 433Compiler Construction

3

CSIT 435Data Communication and Networks II

3

CSIT 437Advanced Operating Systems

3

CSIT 441Analysis and Design of Algorithms

3

CSIT 443Theory of Computation

3

CSIT 456Information and Decision Support Systems

3

CSIT 461Introduction to AI and Knowledge Engineering

3

CSIT 462Computer Graphics

3

CSIT 463Introduction to Digital Image Processing and Computer Vision

3

CSIT 473Data Warehousing and Mining

3

CSIT 475Electronic Commerce

3

A maximum of two courses from the following list may be taken as CS electives:

CSIT 291Special Topics

0-3

CSIT 300Internship

1-12

CSIT 390Directed Study

1-3

CSIT 400Directed Independent Study

1-3

CSIT 490Seminar on Selected Topics

1-3

CSIT 496Special Topics

1-3

CSIT 497Thesis

3

CSIT 499Senior Project

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 120Survey of Calculus I

3

or

MATH 122University Calculus I

4

MATH 121Survey of Calculus II

3

or

MATH 123University Calculus II

4

Five additional electives must be taken from the list below.

At least three courses must be at the 400 level:

CSIT 307Web Development with Ruby on Rails

3

CSIT 333Mobile Applications Development

3

CSIT 335Data Communication and Networks I

3

CSIT 411Programming for Embedded Microcontrollers

3

CSIT 413Computer Architecture

3

CSIT 433Compiler Construction

3

CSIT 435Data Communication and Networks II

3

CSIT 437Advanced Operating Systems

3

CSIT 441Analysis and Design of Algorithms

3

CSIT 443Theory of Computation

3

CSIT 456Information and Decision Support Systems

3

CSIT 461Introduction to AI and Knowledge Engineering

3

CSIT 462Computer Graphics

3

CSIT 463Introduction to Digital Image Processing and Computer Vision

3

CSIT 473Data Warehousing and Mining

3

CSIT 475Electronic Commerce

3

Courses from the following list may be taken as CS electives:

CSIT 490Seminar on Selected Topics

1-3

CSIT 496Special Topics

1-3

CSIT 497Thesis

3

CSIT 499Senior Project

3

CSIT 300Internship

1-12

CSIT 291Special Topics

0-3

CSIT 201Computer Security and Ethics

3

CSIT 390Directed Study

1-3

CSIT 400Directed Independent Study

1-3

In order to fulfill the elective requirements, the courses CSIT 291, 300, 390, 400, 490, 496, 497, and 499 must be at least 3 credits.

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).