Program Planner

Student Name:_______________________ Advisor Name:_______________________ Catalog: 2021-2022 Undergraduate Catalog

Computer Science, B.A.

Major Requirements

Credit Hours: 47+

In addition to completing the requirements for this major, students must also complete the degree requirements specified in the Academic Regulations section of this catalog.

Courses within this major may also satisfy general education requirements. Please consult the Liberal Arts and Sciences General Education Requirements for more information.

Required Courses

Course NameTerm TakenGrade
CSCI 220 Computer Programming I (3)

Prerequisite(s): CSCI 120 or CSCI 140 or CSCI 180 or CSCI 215 or MATH 116 or MATH 111 or higher math or permission of the department.


Corequisite(s): CSCI 220L 

CSCI 220L Programming I Laboratory (1)

Prerequisite(s) or Corequisite(s): CSCI 220.

CSCI 221 Computer Programming II (3)

Prerequisite(s): CSCI 220 with a grade of C- or better and CSCI 220L with a grade of C- or better

or

CSCI 218 with a grade of C- or better and CSCI 218L with a grade of C- or better


Prerequisite(s) or Corequisite(s): MATH 207 

CSCI 230 Data Structures and Algorithms (3)

Prerequisite(s): CSCI 221 with a grade of C- or better and MATH 207 with a grade of C- or better.

CSCI 250 Introduction to Computer Organization and Assembly Language Programming (3)

Prerequisite(s): CSCI 220 with a grade of C- or better and CSCI 220L with a grade of C- or better


Prerequisite(s) or Corequisite(s): MATH 207.

CSCI 320 Programming Language Concepts (3)

Prerequisite(s): CSCI 230 with a grade of C- or better and MATH 207.

CSCI 340 Operating Systems (3)

Prerequisite(s): CSCI 230 with a grade of C- or better, CSCI 250 with a grade of C- or better, and MATH 207.

CSCI 362 Software Engineering (3)

Prerequisite(s): CSCI 230 with a grade of C- or better

CSCI 462 Software Engineering Practicum (3)

Prerequisite(s): Senior rank, COMM 104, C- or better in: CSCI 362 or (CSCI 315 and CSCI 332) 

Elective Requirements:

9 credit hours from any 300-level or higher courses:

Course NameTerm TakenGrade
CSCI 310 Advanced Algorithms (3)

Prerequisite(s): CSCI 230 with a grade of C- or better and MATH 207.

CSCI 315 Server-Side Web Programming (3)

Prerequisite(s): CSCI 221 with a grade of C- or better

CSCI 325 Functional and Logic Programming (3)

Prerequisite(s): CSCI 221 with a grade of C- or better and MATH 207 

CSCI 332 Database Concepts (3)

Prerequisite(s): CSCI 221 with a grade of C- or better and MATH 207.

CSCI 334 Data Mining (3)

Prerequisite(s): CSCI 221 with a grade of C- or better, MATH 207, and MATH 250.

CSCI 345 Computer and Network Security (3)

Prerequisite(s): CSCI 230 with a grade of C- or better, or permission of the instructor

CSCI 350 Digital Logic and Computer Organization (3)

Prerequisite(s): CSCI 250 with a grade of C- or better


Prerequisite(s) or Corequisite(s): MATH 307 

CSCI 360 Software Architecture, Security, and Testing (3)

Prerequisite(s): CSCI 230 with a grade of C- or better


Prerequisite(s) or Corequisite(s): COMM 104 

CSCI 370 Mobile Application Development (3)

Prerequisite(s):  

CSCI 221 with a grade of C- or better

CSCI 380 User Interface Development (3)

Prerequisite(s): CSCI 221 with a grade of C- or better


Prerequisite(s) or Corequisite(s): MATH 207 

CSCI 390 Special Topics in Computing (3)

Prerequisite(s): CSCI 221 with a grade of C- or better and permission of the instructor

CSCI 392 Seminar on Computing and Society (3)

Prerequisite(s): CSCI 221 with a grade of C- or better

CSCI 399 Tutorial (3)

Prerequisite(s): Permission of the tutor and the department chair, junior rank or higher

CSCI 410 Automata and Formal Languages (3)

Prerequisite(s): MATH 307.

CSCI 420 Principles of Compiler Design (3)

Prerequisite(s): CSCI 320 and MATH 307 

CSCI 432 Concepts of Database Implementation (3)

Prerequisite(s): CSCI 332 and MATH 307.

CSCI 440 Computer Networks (3)

Prerequisite(s): CSCI 340, MATH 250, and MATH 307.

CSCI 450 Architecture of Advanced Computer Systems (3)

Prerequisite(s): CSCI 340 or CSCI 350.

CSCI 459 Service-Oriented Computing (3)

Prerequisite(s): CSCI 221, CSCI 230 or CSCI 315 

CSCI 470 Principles of Artificial Intelligence (3)

Prerequisite(s): CSCI 230 with a grade of C- or better

CSCI 480 Principles of Computer Graphics (3)

Prerequisite(s): CSCI 230 with a grade of C- or better and MATH 120 or MATH 116 

CSCI 481 Computer Vision (3)

Prerequisite(s): MATH 203, CSCI 230; or permission of the instructor

CSCI 490 Special Topics (3)

Prerequisite(s): CSCI 230 with a grade of C- or better, and permission of the instructor

CSCI 499A Bachelor’s Essay (3)

Prerequisite(s): Permission of the instructor and Department/Program approval prior to registration. Individual departments or programs may prescribe particular requirements for eligibility for the bachelor’s essay, particular procedures for the approval of proposals, and/or particular guidelines for the projects themselves.  

CSCI 499B Bachelor’s Essay (3)

Prerequisite(s): CSCI 499A

Math Requirement

Course NameTerm TakenGrade
MATH 120 Introductory Calculus (4)

Prerequisite(s): Placement or C- or better in MATH 111 

MATH 207 Discrete Structures I (3)

Prerequisite(s): MATH 116 or MATH 111 or MATH 120 

MATH 307 Discrete Structures II (3)

Prerequisite(s): MATH 207 or MATH 295 or permission of instructor.

Notes:

  • Honors students can take the alternative course of HONS 115 in lieu of MATH 120.

Communication Requirement

Course NameTerm TakenGrade
COMM 104 Public Speaking (3)

Notes:

  • No more than 12 credit hours from CSCI 399 may be applied towards the program requirements.

Coursework Meeting Major Requirements Excluded from the Major GPA Calculation

The following courses are excluded: COMM 104, HONS 115, MATH 120, MATH 207, MATH 307 

Notes: This worksheet is not intended to replace face-to-face advising.