Computer Science Major

Students entering the University of San Diego and/or declaring a major during 2018-2019, should follow information contained in the printed course catalog (also known as the "catalog of record") published on May 1, 2018. Access the catalog of record at http://catalogs.sandiego.edu.

The Computer Science Major (BS)

Preparation for the Major

Required Courses
COMP 110Computational Problem Solving3.5
COMP 120Programming Abstractions and Methodologies 3.5
COMP 230Advanced Computational Problem Modeling 3.5
COMP 280Introduction to Computer Systems3.5
MATH 150Calculus I4
MATH 151Calculus II4
MATH 222Discrete Mathematics3
MATH 320Linear Algebra3
ISYE 330Engineering Probability and Statistics3
Total Units31

Major Requirements

Required Core Computer Science Courses
COMP 305Object-Oriented Design and Programming3
COMP 370Automata, Computability and Formal Languages3
COMP 480Algorithms3
COMP 491Senior Project I3
COMP 492Senior Project II3
Systems Courses
Select two of the following courses:7
Principles of Digital Hardware
Operating Systems
Networking
Upper-Division Elective Courses
Select nine upper-division units from the following:9
Numerical Analysis
Numerical Analysis II
Database Management Systems Design
Computer Graphics
Principles of Programming Languages
Principles of Information Security
Neural Networks
Introduction to Data Mining
Embedded Software Development
Advanced Embedded Software Development
Special Topics
Independent Study
Foundations of Cyber Security (6 units)
Total Units31

Notes: 
1) At least 15 of the the upper-division units in the the major must be completed at USD.
2) Students may not receive credit towards their undergraduate degree for both COMP 365 and CYBR 500.

Recommended Program of Study: Computer Science (BS)

First Year
Semester IUnits
COMP 110Computational Problem Solving3.5
MATH 150Calculus I4
Core Curriculum9
Semester IIHours
COMP 120Programming Abstractions and Methodologies 3.5
MATH 151Calculus II4
MATH 222Discrete Mathematics3
Core Curriculum6
Second Year
Semester IHours
COMP 280Introduction to Computer Systems3.5
ISYE 330Engineering Probability and Statistics3
Core Curriculum9.5-11.5
Semester IIHours
COMP 230Advanced Computational Problem Modeling 3.5
COMP Systems Course3.5
MATH 320Linear Algebra3
Core Curriculum and Electives6.5-8.5
Third Year
Semester IHours
COMP 305Object-Oriented Design and Programming3
COMP Systems Course or Upper-Division COMP Elective3-3.5
Core Curriculum and Electives9-12
Semester IIHours
COMP 370Automata, Computability and Formal Languages3
COMP Systems Course or Upper-Division COMP Elective3-3.5
Upper-Division COMP Elective3
Core Curriculum and Electives6
Senior Year
Semester IHours
COMP 480Algorithms3
COMP 491Senior Project I3
Core Curriculum and Electives9-12
Semester IIHours
COMP 492Senior Project II3
Upper-Division COMP Elective3
Core Curriculum and Electives9-12

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.

Concentration in Embedded Software Development
COMP 421Embedded Software Development3
COMP 422Advanced Embedded Software Development3
One of the following courses:3-3.5
Principles of Information Security
Networking
Total Units9-9.5
Concentration in Cyber Security
CYBR 500Foundations of Cyber Security6
One of the following:3-3.5
Networking
An additional CYBR course
Total Units9-9.5

Notes: 
1) Students choosing the Embedded Software Development, or Cyber Security concentration may not use COMP 375 to satisfy the Systems Course requirement in the Computer Science major.
2) 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 second CYBR course is taken.

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 500 and any of the following: CYBR courses: 520, 530, 540, 550, 560, 570, 580, 590.

The MSCSE program requires 30 units (computer science majors do not need to take a 6-unit course in software 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.

The Computer Science Major (BA)

Preparation for the Major

Required Courses
COMP 110Computational Problem Solving3.5
COMP 120Programming Abstractions and Methodologies 3.5
COMP 230Advanced Computational Problem Modeling 3.5
COMP 280Introduction to Computer Systems3.5
MATH 150Calculus I4
MATH 222Discrete Mathematics3
Elective Math Course
Select one of the following:3
Engineering Probability and Statistics
Linear Algebra
Total Units24

Major Requirements

Required Core Computer Science Courses
COMP 305Object-Oriented Design and Programming3
COMP 480Algorithms3
COMP 491Senior Project I3
COMP 492Senior Project II3
Systems Course
Select one of the following courses:3.5
Principles of Digital Hardware
Operating Systems
Networking
Upper-Division Elective Courses
Select nine upper-division units from the following:9
Numerical Analysis
Numerical Analysis II
Database Management Systems Design
Computer Graphics
Principles of Programming Languages
Principles of Information Security
Automata, Computability and Formal Languages
Neural Networks
Introduction to Data Mining
Embedded Software Development
Advanced Embedded Software Development
Special Topics
Independent Study
Foundations of Cyber Security
Total Units24.5

Notes: 
1)
At least 15 of the upper-division units in the major must be completed at USD.
2) Students may not receive credit towards their undergraduate degree for both COMP 365 and CYBR 500.

Recommended Program of Study: Computer Science (BA)

First Year
Semester IUnits
COMP 110Computational Problem Solving3.5
MATH 150Calculus I4
Core Curriculum9
Semester IIHours
COMP 120Programming Abstractions and Methodologies 3.5
MATH 222Discrete Mathematics3
Core Curriculum9
Second Year
Semester IHours
COMP 280Introduction to Computer Systems3.5
or ISYE 330
MATH 320
Engineering Probability and Statistics
Linear Algebra
3
CC9-11.5
Semester IIHours
COMP 230Advanced Computational Problem Modeling 3.5
Core Curriculum and Electives12-14.5
Third Year
Semester IHours
COMP 305Object-Oriented Design and Programming3
COMP Systems Course or Upper-Division COMP Elective3
Core Curriculum and Electives10-12
Semester IIHours
COMP Systems Course or Upper-Division COMP Elective3
Upper-Division COMP Elective3
Core Curriculum and Electives10-12
Senior Year
Semester IHours
COMP 480Algorithms3
COMP 491Senior Project I3
Core Curriculum and Electives9-12
Semester IIHours
COMP 492Senior Project II3
Upper-Division COMP Elective3
Core Curriculum and Electives9-12

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.

Concentration in Embedded Software Development
COMP 421Embedded Software Development3
COMP 422Advanced Embedded Software Development3
One of the following courses:3-3.5
Principles of Information Security
Networking
Total Units9-9.5
Concentration in Cyber Security
CYBR 500Foundations of Cyber Security6
One of the following:3-3.5
Networking
An additional CYBR course numbered CYBR 520 or higher
Total Units9-9.5

Notes: 
1) Students choosing the Embedded Software Development, or Cyber Security concentration may not use COMP 375 to satisfy the Systems Course requirement in the Computer Science major.
2) 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 second CYBR course is taken.

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 500 and any of the following: CYBR courses: 520, 530, 540, 550, 560, 570, 580, 590.

The MSCSE program requires 30 units (computer science majors do not need to take a 6-unit course in software 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.