Bachelor of Science
Bachelor of Science in Computer Science
The undergraduate program in computer science is an interdisciplinary program leading to the Bachelor of Science in Computer Science. The program is designed to provide both an academic and professional orientation.
General admission requirements for the undergraduate program are the same as those of the university and the USC School of Engineering and include three to five units of mathematics and one unit of science (biology, chemistry or physics) together with satisfactory scores on the Scholastic Aptitude Test and Achievement Tests. The requirement for the degree is 128 units. A cumulative scholarship average of C (2.0) is required for all courses taken at USC as well as for all computer science courses taken in the program. Computer science is a department in the USC School of Engineering; however, the Bachelor of Science degree with a major in computer science is awarded through the USC College of Letters, Arts and Sciences. Candidates must complete general education requirements; see the General Education Program section.
First Year, First Semester | Units |
CSCI 101L | Fundamentals of Computer Programming | 3 |
MATH 125 | Calculus I | 4 |
WRIT 140* | Writing and Critical Reasoning | 4 |
| General education VI* | 4 |
| | 15 |
First Year, Second Semester | Units |
CSCI 105 | Object Oriented |
| Programming | 2 |
CSCI 107 | Computers and Society | 3 |
MATH 126 | Calculus II | 4 |
| General education V | 4 |
| Foreign language I | 4 |
| | 17 |
Second Year, First Semester | Units |
CSCI 102L | Data Structures | 4 |
EE 101 | Introduction to Digital Logic | 3 |
MATH 226 | Calculus III | 4 |
| Foreign language II | 4 |
Free elective | | 2 |
| | 17 |
Second Year, Second Semester | Units |
CSCI 201L | Principles of Software Development | 4 |
CSCI 271 | Discrete Methods in Computer Science | 3 |
EE 102L | Introduction to Digital Circuits | 2 |
MATH 225 | Linear Algebra and Differential Equations | 4 |
| Foreign language III | 4 |
| | 17 |
Third Year, First Semester | Units |
CSCI 303 | Design and Analysis of Algorithms | 3 |
EE 357 | Basic Organization of Computer Systems | 3 |
MATH 407 | Probability Theory | 4 |
Technical elective I | 3 |
Basic science requirement I** | 4 |
| | 17 |
Third Year, Second Semester | Units |
CSCI 377 | Introduction to Software Engineering | 3 |
EE 457Lx | Computer Systems Organization | 3 |
General education IV | 4 |
Technical elective II | 3 |
Basic science requirement II ** | 4 |
| | 17 |
Fourth Year, First Semester | Units |
CSCI 402x | Operating Systems | 3 |
General education I | 4 |
Science elective*** | 4 |
Free elective | | 4 |
| | 15 |
Fourth Year, Second Semester | Units |
CSCI 477 | Design and Construction of Large Software Systems | 3 |
WRIT 340 | Advanced Writing | 3 |
General education II | 4 |
Technical elective III | 3 |
| | 13 |
Foreign Language Requirement
Three semesters of a single language and passing the skill level examination in that language or passing the skill level examination in a foreign language.
Technical Electives (two courses)
Applicable courses include: CSCI 351, CSCI 377, CSCI 410, CSCI 445, CSCI 459, CSCI 460, CSCI 477L, CSCI 480, CSCI 485, CSCI 490x, CSCI 499; EE 321, EE 450, EE 454L, EE 459L, EE 465, EE 477L, EE 490x, EE 499; MATH 458. Other courses may be applicable; please see an advisor for approval.
Physics/Computer Science Major Requirements for the Bachelor of Science
This program is intended for students with dual interests in physics and computer science who wish to complete the essential courses for both majors within their normal four year career. See the
Physics and Astronomy Department section for course requirements.
Bachelor of Science in Computer Engineering and Computer Science
See the listing under
Computer Engineering.
Minor in Computer Science
The computer science minor introduces the concepts, tools and techniques that are involved in the programming of computers. The minor prepares students to achieve mastery in several current programming languages. In addition, the student will learn about creating effective user interfaces and how to build applications that are available on the World Wide Web.
Required Courses (22 units) |
Lower division (16 units) |
CSCI 101L | Fundamentals of Computer Programming | 3 |
CSCI 102L | Data Structures | 4 |
CSCI 105 | Object-Oriented Programming | 2 |
CSCI 107 | Computers and Society | 3 |
CSCI 201L | Principles of Software Development | 4 |
Upper division (6 units) |
CSCI 351 | Programming and Multimedia on the World Wide Web | 3 |
CSCI 377 | Introduction to Software Engineering | 3 |
Electives |
10 units selected from the following courses: |
CSCI 445 | Introduction to Robotics | 4 |
CSCI 460 | Introduction to Artificial Intelligence | 3 |
CSCI 477 | Design and Construction of Large Software Systems | 3 |
CSCI 480 | Computer Graphics | 3 |
CSCI 485 | File and Database Management | 3 |
CSCI 499 | Special Topics | 2-4 |
Total: 32 units |
Minor in Multimedia and Creative Technologies
See listing under
Multimedia and Creative Technologies.
4+1 Program
The 4+1 Program offers qualified students the opportunity to simultaneously complete the requirements for the B.S. and M.S. degrees in five years. Students are eligible for the 4+1 Program upon completing 96 or more units toward their B.S. with a GPA of 3.2 or higher. Qualified students who are interested should see their advisor in their junior year to begin planning for the inclusion of graduate courses during their senior year. Students should apply to the graduate program in the fall of their senior year. Eligible students will be automatically accepted to the M.S. program without needing to take the GRE. All requirements for both the B.S. and M.S. degrees must be met; however, up to six units of course work will be counted toward satisfying the unit requirements of both programs. Application information may be obtained in the School of Engineering Office of Admissions and Student Affairs. Students should see their departmental advisors for assistance with course selection.