University of Southern California

Course Details

Bachelor of Science in Computer Science

Course Description

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. A grade of C (2.0) or better is required for each of the core courses CSCI 103, CSCI 170, CSCI 104 and CSCI 201. Courses with a grade of C- or below must be repeated; courses may only be retaken once. Departmental approval is required in order to retake a course. Students who do not satisfy the degree requirement after repeating a class will be disqualified from the program. A cumulative grade point average of C (2.0) is required for all courses taken at USC as well as all upper division courses applied toward the major, regardless of the department in which the courses are taken. Candidates must complete general education requirements; see the General Education Program.

Course Duration

NumberDuration
4year

Career outcomes

Student Outcomes (a) An ability to apply knowledge of computing and mathematics appropriate to the discipline (b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution (c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs (d) An ability to function effectively on teams to accomplish a common goal (e) An understanding of professional, ethical, legal, security and social issues and responsibilities (f) An ability to communicate effectively with a range of audiences (g) An ability to analyze the local and global impact of computing on individuals, organizations, and society (h) Recognition of the need for and an ability to engage in continuing professional development (i) An ability to use current techniques, skills, and tools necessary for computing practice (j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of compute r-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices (k) An ability to apply design and development principles in the construction of software systems of varying complexity.




Bachelor of Science in Computer Science University of Southern California