Course Link pop-ups require javascript, but without, links simply open target page as expected
CofC Logo
Undergraduate Catalog
Catalog Search

Catalog links
print page

Computer Science (B.A.) Major Requirements

Degree: Bachelor of Arts

Credit Hours: 47+

"PR" indicates a pre-requisite. "CO" indicates a co-requisite.

Courses within this major may also satisfy general education requirements. Please consult http://registrar.cofc.edu/general-edu for more information.

Required Courses

CSCI 220

Computer Programming I (3) PR: CSCI 120 or CSCI 180 or CSCI 210 or MATH 111 or higher or department permission; CO: CSCI 220L

CSCI 220L

Computer Programming I Lab (1) CO: CSCI 220

CSCI 221

Computer Programming II (3) PR: CSCI 220, CSCI 220L; CO or PR: MATH 207

CSCI 230

Data Structure and Algorithms (3) PR: CSCI 221, MATH 207

CSCI 250

Introduction to Computer Organization and Assembly Language Programming (3) PR: CSCI 220 and CSCI 220L; CO or PR: MATH 207

CSCI 320

Programming Language Concepts (3) PR: CSCI 221, MATH 207

CSCI 340

Operating Systems (3) PR: CSCI, 230, CSCI 250, MATH 207

CSCI 360

Software Architecture and Design (3) PR: CSCI 230, MATH 207: CO: COMM 104

CSCI 462

Software Engineering Practicum (3) PR: CSCI 230, CSCI 360 or CSCI 362; COMM 104

Elective Requirements: 9 credit hours from the following:

CSCI 310

Advanced Algorithms (3) PR: CSCI 230, MATH 207

CSCI 315

Service-Side Web Programming (3) PR: CSCI 215, CSCI 221

CSCI 325

Functional and Logic Programming (3) PR: CSCI 221, MATH 207

CSCI 332

Database Concepts (3) PR: CSCI 221, MATH 207

CSCI 334

Data Mining (3) PR: CSCI 221, MATH 207, MATH 250

CSCI 350

Digital Logic and Computer Organization (3) PR: CSCI 250; PR or CO: MATH 307

CSCI 362

Software Engineering (3) PR: CSCI 221, MATH 207; CO: COMM 104

CSCI 380

User Interface Development (3) PR: CSCI 221, MATH 207, or instructor permission

CSCI 392

Seminar on Computing and Society (3) PR: CSCI 221

CSCI 397

Research Experience in Computer Science (0) PR: Declared CSCI majors only, instructor permission, department chair permission

CSCI 399

Tutorial (3, Repeatable up to 12) PR: Junior standing, tutor permission, department chair permission

CSCI 410

Automata and Formal Language (3) PR: MATH 207

CSCI 420

Principles of Compiler Design (3) PR: CSCI 230, CSCI 320, MATH 307

CSCI 432

Concepts of Database Implementation (3) PR: CSCI 332, MATH 307

CSCI 440

Computer Networks (3) PR: CSCI 340, MATH 250, MATH 307

CSCI 450

Architecture of Advanced Computer Systems (3) PR: CSCI 340 or CSCI 350

CSCI 459

Service-Oriented Programming (3) PR: CSCI 221; CSCI 230 or CSCI 315

CSCI 470

Principles of Artificial Intelligence (3) PR: CSCI 230, MATH 307

CSCI 480

Principles of Computer Graphics (3) PR: CSCI 230, MATH 220, MATH 307

CSCI 490

Special Topics (3) PR: Instructor permission

CSCI 499

Bachelor’s Essay (6) PR: A project proposal must be submitted in writing and approved by the department prior to registration for the course.

Math Requirement

MATH 120

Introductory Calculus (4) PR: C- or better in MATH 111 or placement

MATH 207

Discrete Structures I (3) PR: MATH 105, MATH 111, or MATH 120

MATH 307

Discrete Structures II (3) PR: MATH 207 or MATH 295 or instructor permission

Communication Requirement

COMM 104

Public Speaking (3) PR: None