
Major in Computer Science
To major in Computer Science, a USF student should have successfully completed four years of high school mathematics, including the equivalent of two years of algebra and the basic elements of plane geometry and trigonometry. Deficiencies in a student's high school mathematics background may be fulfilled by successfully taking the equivalent mathematics prerequisites at USF.
Requirements
This program requires completion of fifty (50) units in computer science and twenty (20) units of supporting courses, as follows:
Computer Science Courses:
Lower-division courses (20 units):
- CS - 110 Introduction to Computer Science I
- CS - 112 Introduction to Computer Science II
- CS - 210 Assembly Language and Systems Programming
- CS - 220 Introduction to Parallel Computing
- CS - 245 Data Structures and Algorithms
Upper-division courses (22 units):
- CS - 315 Computer Architecture
- CS - 326 Operating Systems
- CS - 342 Introduction to Software Engineering
- CS - 414 Compilers
- CS - 490 Senior Team Project
- CS - 385 Special Lecture Series in Computer Science (CS 385 must be taken twice)
Electives (8 units); two of the following courses:
- CS - 333 Database Systems
- CS - 336 Computer Networks
- CS - 345 Programming Language Paradigms
- CS - 411 Automata Theory
- CS - 419 Computer Graphics
- CS - 430 Numerical Analysis
- CS - 461 Logic for Computer Science and Math
- CS - 480 Computers and Society: Privacy, Security, Ethics, and Service
With the permission of the department, one of the electives may be replaced by CS 486, Special Topics in Computer Science, a graduate class, or a second semester of CS 490, Senior Project.
Note: All upper-division Computer Science courses must be taken at USF.
Required supporting courses:
Twelve (12) units of Mathematics:
- MATH - 109 Calculus and Analytic Geometry I
- MATH - 201 Discrete Mathematics
- MATH - 202 Linear Algebra and Probability
Grade Requirements in the Major
Computer science majors must pass all courses required for the computer science Major, including the upper division elective courses and supporting courses, with a grade of C (2.0) or better. If a student receives a lower grade in one of these courses, the student must repeat the course until a grade of at least C is earned.
Learning Goals/Outcomes for the Computer Science Major
Students who graduate with a Bachelor of Science (B.S.) degree in Computer Science will be prepared for both graduate school and for computer oriented careers. The curriculum provides a solid base in computer science fundamentals that includes software design and development, problem solving and debugging, theoretical and mathematical foundations, computer systems, and system software.
Students who complete the B.S. in Computer Science will be able to demonstrate:
- An understanding of fundamental topics in computer science including programming, data structures, algorithms, and computer systems implementation;
- The ability to design, implement, and debug software applications;
- Effective communication and team participation skills with respect to software development.

University of San Francisco
http://www.usfca.edu
2130 Fulton Street
San Francisco, CA 94117-1080