USC
University of Southern California
black horizontal bar for print styles

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 Viterbi School of Engineering and include 3 to 5 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 Viterbi School of Engineering; however, the Bachelor of Science degree with a major in computer science is awarded through the USC College. Candidates must complete general education requirements; see here and here.

Composition/Writing requirement Units
WRIT 140*Writing and Critical Reasoning4
WRIT 340**Advanced Writing3

General Education (see here)Units
General education* +20

pre-Major requirements Units
Math Requirement
MATH 125Calculus I4
MATH 126Calculus II4
MATH 225Linear Algebra and Differential Equations4
MATH 226Calculus III4
MATH 407 Probability Theory, or4
EE 364Introduction to Probability and Statistics for Electrical Engineering and Computer Science3

Basic Science
One of the following two course sequences:
BISC 120L*** and BISC 220L, or
CHEM 105aLbL***, or
PHYS 151L*** and PHYS 152L8

Other Requirements
Science elective****4
Foreign language12

Major Requirements Units
Computer Science
CSCI 101LFundamentals of Computer Programming3
CSCI 102LData Structures4
CSCI 105Object Oriented Programming2
CSCI 201LPrinciples of Software Development4
CSCI 271Discrete Methods in Computer Science3
CSCI 303Design and Analysis of Algorithms3
CSCI 377Introduction to SoftwareEngineering3
CSCI 402xOperating Systems3
CSCI 477Design and Construction of Large Software Systems3

Electrical Engineering
EE 101Introduction to Digital Logic3
EE 106LxIntroduction to Computer Engineering/Computer Science2
EE 201LIntroduction to Digital Circuits4
EE 357Basic Organization of Computer Systems 3
EE 457xComputer Systems Organization3
Free electives8
Technical electives6
Total units:128

*GE Category VI is taken concurrently with WRIT 140.

**WRIT 340 Advanced Writing (Communication for Engineers) is strongly recommended for CSCI majors.

***Satisfies general education requirement.

****Any course in physics, biology or chemistry beyond the basic science requirement or in another scientific discipline. See department for approval.

+The university allows engineering students to replace GE Category IV with a second course in Categories I, II or VI.

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 410, CSCI 445, CSCI 459, CSCI 460, CSCI 464, CSCI 480, CSCI 485, CSCI 490x, CSCI 499; 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.

Bachelor of Science in Computer Science (Games)

The goal of the B.S. in Computer Science (Games) program is to graduate students with a solid grounding in computer science and a cross-disciplinary background in game development. Topics covered in the cross-disciplinary game development portion of the degree program include game production, visual design for games and interactives, computer animation, video game programming, game hardware architectures, game engine programming, serious game development, introductory and intermediate game design, and two semester-long final game projects. Students graduating from this program will be capable of engineering next-generation games and simulations and their technologies in the entertainment and serious game fields. Additionally, graduates from this program will be able to further their education in graduate programs in game development and computer science. This degree will be offered by the College of Letters, Arts and Sciences

Requirements for the B.S. in Computer Science (Games):
Computer Science and Computer Engineering (37 units) Units
CSCI 101LFundamentals of Computer Programming3
CSCI 102LData Structures4
CSCI 105Object-Oriented Programming2
CSCI 201LPrinciples of Software Development4
CSCI 271Discrete Methods in Computer Science3
CSCI 303Design and Analysis of Algorithms 3
CSCI 377Introduction to Software Engineering3
CSCI 402xOperating Systems3
CSCI 460Introduction to Artificial Intelligence 3
CSCI 480Computer Graphics 3
EE 352LComputer Organization and Architecture3
EE 450Introduction to Computer Networks3

Game Development (42 units) Units
CSCI 180Survey of Digital Games and Their Technologies 3
CSCI 281Pipelines for Games and Interactives3
CSCI 486Serious Games Development3
CSCI 491abLFinal Game Project 4-2
CTAN 452Introduction to 3-D Computer Animation2
CTIN 484LIntermediate Game Development 2
CTIN 488Game Design Workshop 4
CTIN 489Intermediate Game Design Workshop2
EE 452LGame Hardware Architectures3
ITP 280Video Game Production 4
ITP 380Video Game Programming 4
ITP 461xArtificial Intelligence in Video Games1
ITP 481x Video Game Graphics1
ITP 485Programming Game Engines4

Math (11-12 Units) Units
MATH 125Calculus I4
MATH 126Calculus II4
MATH 225Linear Algebra and Linear Differential Equations, or4
EE 241Applied Linear Algebra for Engineering3

Science (4 units) Units
PHYS 151L*Fundamentals of Physics I: Mechanics and Thermodynamics4

Writing (7 units) Units
WRIT 140Writing and Critical Reasoning4
WRIT 340 Advanced Writing3

General Education (20 units)** Units
The major will comply with the university general education and diversity requirements.

*General Education requirements total 24 units. However, PHYS 151L also satisfies the GE Category III requirement.

**The foreign language requirement will be waived for students in this program.

Technical Electives
Choose a minimum of 6 units from the following:
CSCI 351Programming and Multimedia on the World Wide Web 3
CSCI 410x***Translation of Programming Languages 3
CSCI 477*** Design and Construction of Large Software Systems 3
CSCI 485File and Database Management3
CSCI 490xDirected Research 2-8
CSCI 499Special Topics 2-4
CTAN 330Animation Fundamentals2
CTAN 443L3-D Animation and Character Design2
CTIN 401LInterface Design for Games2
CTIN 403Advanced Visual Design for Gamers2
CTIN 404LUsability Testing for Games2
CTIN 405LDesign and Technology for Mobile Experiences 2
CTIN 406LSound Design for Games2
CTIN 458Business and Management of Games 2
CTIN 459L***Game Industry Workshop4
CTIN 462Critical Theory and Analysis of Games4
CTIN 463Anatomy of a Game4
CTIN 482Designing Online Multiplayer Game Environments 2
CTIN 483Programming for Interactivity4
CTIN 492LExperimental Game Topics4
EE 320Digital Media Basics for Multimedia3
ENGR 395abc*** Cooperative Education Work Experience (students who take 3 units of Co-op may use it as one technical elective).1 or 2, max 5
Total units required for degree:128

Other courses may be eligible subject to advisor approval.

***highly recommended

Note: Students are strongly encouraged to take at least 1 unit of internship

Note: Free elective units: (0-1 units)

Note: If a student chooses MATH 225 (4), then no units of free electives would be needed to complete the degree requirements. If EE 241 (3) is chosen, then the student would require 1 unit of free elective.

Bachelor of Science in Computer Science/Bachelor of Science in Business Administration

The combined Bachelor of Science degree program in computer science/business administration offers qualified students the opportunity to gain an educational foundation in both areas. Students must meet the admission requirements for both the Computer Science department in the Viterbi School of Engineering and the Marshall School of Business. The degree is administered by the Computer Science department.

Students should work with advisors in both the Marshall School and the Viterbi School in making appropriate course selections. A minimum of 135 units is required. A GPA of C (2.0) or higher is required for all upper division course, including any approved substitutes for these courses.

Engineering Requirements Units
CSCI 101LFundamentals of Computer Programming3
CSCI 102LData Structures4
CSCI 105Object-Oriented Programming2
CSCI 201LPrinciples of Software Development4
CSCI 271Discrete Methods in Computer Science3
CSCI 303Design and Analysis of Algorithms3
CSCI 351Programming and Multimedia on the World Wide Web3
CSCI 377Introduction to Software Engineering3
CSCI 460Introduction to Artificial Intelligence, or
CSCI 480Computer Graphics, or
CSCI 485 File and Database Management3
CSCI 477Design and Construction of Large Software Systems3
CSCI technical electives (see department for approved list)6
EE 101Introduction to Digital Logic3
EE 201LIntroduction to Digital Circuits4
ENGR 102Freshmen Academy Seminar2
MATH 125Calculus I4
MATH 126Calculus II4
MATH 225Linear Algebra and Linear Differential Equations, or4
EE 241Applied Linear Algebra for Engineering3
Basic science requirements I and II*4-4
Total engineering units:65-66

Business RequirementsUnits
ACCT 410xAccounting for Non-Business Majors4
BUAD 302Communication Strategy in Business4
BUAD 304Organizational Behavior4
BUAD 306Business Finance4
BUAD 307Marketing Fundamentals4
BUAD 497Strategic Management4
BUAD concentration**8
ECON 203Principles of Microeconomics4
ECON 205Principles of Macroeconomics4
MATH 218Probability for Business, or4
EE 364Introduction to Probability and Statistics for Electrical Engineering3
Total business units43-44

Total program units:108-110

*Basic science requirement: PHYS 151L and PHYS 152L or CHEM 105abL or BISC 120L and BISC 220L

**Students can choose to take 8 units of upper division concentration courses from any two departments or from the same department. They are not required to take "required" courses from a particular concentration for this degree.

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 Internet.

Required Courses
Lower division (13 units)
CSCI 101LFundamentals of Computer Programming3
CSCI 102LData Structures4
CSCI 105Object-Oriented Programming2
CSCI 201LPrinciples of Software Development4

Electives
12 units selected from the following courses:
CSCI 351Programming and Multimedia on the World Wide Web3
CSCI 377Introduction to Software Engineering3
CSCI 445Introduction to Robotics4
CSCI 460Introduction to Artificial Intelligence3
CSCI 477Design and Construction of Large Software Systems3
CSCI 480Computer Graphics3
CSCI 485File and Database Management3
CSCI 499Special Topics2-4

Total: 25 units

Note: Students majoring in business may wish to take CSCI 477 and CSCI 485: These courses will prepare them to utilize computers in a corporate setting.

Students majoring in fine arts or cinematic arts may wish to take CSCI 460 and CSCI 480: These courses will prepare them to apply computers to movies and online games.

Students majoring in chemistry or physics may prefer to take CSCI 445 and CSCI 460: These courses will prepare them to create sophisticated software for scientific applications.

Minor in Engineering Technology Commercialization

See listing under the Special Educational Opportunities section.

Minor in 2-D Art for Games

This interdisciplinary minor integrates three major disciplines (fine arts, computer science and interactive media) to develop the 2-D visual skills necessary to conceptualize and illustrate images for games. For more information, see Roski School of Fine Arts.

Minor in 3-D Art for Games

The focus of the 3-D Art for Games minor is a trans-disciplinary approach that incorporates the creative, technological and team-based communication skills necessary to develop 3-D art skills for video games. For more information, see Roski School of Fine Arts.