Computer Science BA
Download as PDF
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.