Skip to Main Content

Computer Science BA

Download as PDF

Computer ScienceUndergraduateBachelor of Arts

Free Form Requirements

The Computer Science Major BA

Preparation for the Major

Required Courses

COMP 110

Computational Problem Solving

3.5

COMP 120

Programming Abstractions and Methodologies

3.5

COMP 230

Advanced Computational Problem Modeling

3.5

COMP 280

Introduction to Computer Systems

3.5

MATH 150

Calculus I

4

MATH 260

Foundations of Higher Mathematics

3

or MATH 262

Discrete Mathematics

Elective Math Course

Select one of the following:

3

ISYE 330

Engineering Probability and Statistics

MATH 320

Linear Algebra

Total Units

24

Major Requirements

Required Core Computer Science Courses

COMP 305

Object-Oriented Software Design

3

COMP 480

Algorithms

3

COMP 491

Senior Project I

3

COMP 492

Senior Project II

3

Systems Course

Select one of the following courses:

3.5

COMP 300

Principles of Digital Hardware

COMP 310

Operating Systems

COMP 375

Networking

Ethics Course

Select one of the following:

3

PHIL 345

Computer Ethics

PHIL 348

Ethics of AI and Robotics

Upper-Division Elective Courses

Select nine upper-division units from the following:

9

ADS 500A

Probability and Statistics for Data Science

ADS 500B

Data Science Programming

COMP 331

User-Centered Design and Prototyping

COMP 332

Human-Centered Systems

COMP 333

Human-Centered Data Science

COMP 340

Numerical Analysis

COMP 341

Numerical Analysis II

COMP 345

Database Management Systems Design

COMP 350

Computer Graphics

COMP 351

Introduction to Artificial Intelligence

COMP 352

Data Science Foundations and Programming

COMP 360

Principles of Programming Languages

COMP 365

Principles of Information Security

COMP 370

Automata, Computability and Formal Languages

COMP 380

Neural Networks

COMP 382

Introduction to Data Mining

COMP 421

Embedded Software Development

COMP 422

Advanced Embedded Software Development

COMP 430

Bioinformatics

COMP 494

Special Topics in Computer Science

COMP 499

Independent Study

CYBR 501

Introduction to Cybersecurity Concepts and Tools

CYBR 502

Cybersecurity Network Defense

ADS 501

Foundations of Data Science and Data Ethics

ADS 502

Applied Data Mining

Total Units

27.5

Notes for Major Requirements: 
1) At least 15 of the upper-division units in the major must be completed at USD.
2) Permission from the chair of computer science and the dean of the Shiley-Marcos School of Engineering is required before enrolling in 500-level CYBR or ADS courses.
3) Students may not receive credit towards their undergraduate degree for both COMP 365 and CYBR 501 or CYBR 502.
4) Unless in a combined program (see below), at most two 500-level courses may be taken in fulfillment of the requirements of the bachelor’s degree.  
5) Undergraduate students enrolling in the following graduate classes must complete the indicated prerequisite undergraduate classes: CYBR 501 and 502: COMP 375; ADS 530 and 531: ISYE 330 and COMP 352.

Additional Requirements:

All computer science majors must satisfy the core curriculum specified by the University and the Connect Career Readiness Program.

Concentrations in Computer Science (9 - 9.5 units)

Concentrations allow majors to develop a level of depth in a particular area of computer science.  Courses taken toward a concentration may also apply to the upper-division elective requirements of the major.  Concentrations are optional, and so are not required by the computer science major.  Participation in the cyber security concentration requires approval of the chair and the dean of the Shiley-Marcos School of Engineering.

Concentration in Human-Computer Interaction

COMP 331

User-Centered Design and Prototyping

3

COMP 332

Human-Centered Systems

3

COMP 333

Human-Centered Data Science

3

Total Units

9

Concentration in Cyber Security

CYBR 501

Introduction to Cybersecurity Concepts and Tools

3

CYBR 502

Cybersecurity Network Defense

3

One of the following courses:

3-3.5

COMP 375

Networking

An additional CYBR course numbered CYBR 503 or higher

Total Units

9-9.5

Concentration in Data Science and Artificial Intelligence

COMP 351

Introduction to Artificial Intelligence

3

COMP 352

Data Science Foundations and Programming

3

One of the following courses:

3

COMP 333

Human-Centered Data Science

COMP 380

Neural Networks

COMP 382

Introduction to Data Mining

GENG 430

Bioinformatics

Total Units

9

Combined BS or BA Computer Science and Master of Science in Cyber Security Engineering (MSCSE) Program

A student who has applied, accepted, and indicated that they will enter the MSCSE program, can apply up to twelve 500-level CYBR units to both their undergraduate degree requirements in Computer Science, and to the requirements of the MSCSE program.  Those units shall include CYBR 501, CYBR 502, and any of the following: CYBR courses: 503, 504, 506, 508, 510, and 512.

The MSCSE program requires 30 units (computer science majors do not need to take a 6-unit course in software, operating systems, and networking fundamentals that would bring the unit count to 36), and MSCSE  students take 6 units per semester.  So a student who completes 12 units as an undergraduate can complete the remaining 18 units in three terms (summer, fall, and spring).  Thus, a student can earn a BS or BA in computer science plus an MS in Cyber Security Engineering in 4 years of undergraduate coursework plus 1 year of graduate coursework.

Combined BS or BA Computer Science and Master of Science in Applied Data Science (MS-
ADS) Program

A student who has applied, been accepted, and indicated that they will enter the MS-ADS
Program, can apply 12 units of coursework to both the requirements of their undergraduate degree and to the requirements of the MS-ADS program. Prerequisite courses to begin the combined program are: ISYE 330 (Engineering Probability and Statistics), and COMP 352 (Data Science Foundations and Programming). Combined students must take these prior to the fall of their senior year. ISYE 330 counts for MS-ADS prerequisite class ADS 500A (Probability and Statistics for Data Science), and COMP 352 counts for the prerequisite class ADS 500B (Data Science Programming).

Combined students then take ADS 501 (Foundations of Data Science and Data Ethics) and ADS 502 (Applied Data Mining) in the fall of their senior year, and two additional courses in the MS-ADS program in the spring of their senior year. (These could be, depending on the year, ADS 503 and 504, or ADS 505 and 506, or ADS 507 and 508.)

The MS-ADS Program requires 30 units of coursework (not counting the 6 units of prerequisite coursework), and students in the program take 6 units per semester. So a student who completes 12 units as an undergraduate can complete the remaining 18 units in three terms (summer, fall and spring). Thus, a students can earn a BS or BA in Computer Science plus an MS in Applied Data Science in 4 years of undergraduate coursework plus 1 year of graduate coursework.

Notes for Concentrations and Combined Programs: 
1)  Permission from the chair of computer science and the dean of the Shiley-Marcos School of Engineering is required before enrolling in 500-level CYBR courses.
2) Students applying COMP 375 to both a concentration (Cyber Security) and to the systems course requirement must take an additional computer science upper division elective course.
3) Students completing the Cyber Security concentration by taking nine units of 500-level CYBR classes must be enrolled in the Combined Undergraduate Computer Science and MS in Cyber Security Engineering program at the time the third CYBR course is taken.
4) Undergraduate students enrolling in the following graduate classes must complete the indicated prerequisite undergraduate classes: CYBR 501 and 502: COMP 375; ADS 530 and 531: ISYE 330 and COMP 352.