Henry Salvatori Computer Science Center 300
(213) 740-4494
E-mail: csdept@pollux.usc.eduChair: Ellis Horowitz, Ph.D.
Faculty
Fletcher Jones Chair in Computer Science: Seymour Ginsburg, Ph.D.Gordon Marshall Chair in Engineering: George A. Bekey, Ph.D.
Henry Salvatori Chair in Computer Science: Leonard Adleman, Ph.D.
Charles Lee Powell Chair in Computer Engineering: Melvin Breuer, Ph.D. (Electrical Engineering)
Charles Lee Powell Chair in Computer Engineering: Alvin Despain, Ph.D. (Electrical Engineering)
TRW Professorship in Software Engineering: Barry Boehm, Ph.D.
Professors: Michael Arbib, Ph.D. (Biomedical Engineering, Electrical Engineering, Neurobiology and Psychology); Edward K. Blum, Ph.D. (Mathematics); Irving Biederman, Ph.D. (Psychology); Ellis Horowitz, Ph.D. (Electrical Engineering); Kai Hwang, Ph.D. (Electrical Engineering); Dennis McLeod, Ph.D.; Ramakant Nevatia, Ph.D.; Pavel Pevzner, Ph.D. (Mathematics); Aristides Requicha, Ph.D. (Electrical Engineering); Mark Seidenberg, Ph.D. (Psychology, Linguistics); Christoph von der Malsburg, Ph.D. (Neurobiology, Physics and Astronomy); Michael Waterman, Ph.D. (Mathematics, Biological Sciences)
Associate Professors: Deborah Estrin, Ph.D.; Ming-Deh Huang, Ph.D.; Gerard Medioni, Ph.D.; Paul Rosenbloom, Ph.D.
Assistant Professors: Peter Danzig, Ph.D.; Shahram Ghandeharizadeh, Ph.D.; Douglas Ierardi, Ph.D.; Ulrich Neumann, Ph.D.; Shankar Rajamoney, Ph.D.; Rafael Saavedra, Ph.D.
Adjunct Professor: Sukhan Lee, Ph.D.
Adjunct Associate Professor: Scott Shenker, Ph.D.
Adjunct Assistant Professors: Steve Chien, Ph.D.; Usama Fayyad, Ph.D.; Robert Felderman, Ph.D.; Raymond Madachy, Ph.D.; Larry Matthies, Ph.D.; Stuart Stubblebine, Ph.D.
Research Professors: Robert M. Balzer, Ph.D.; Herbert Schorr, Ph.D.; David Wile, Ph.D.
Research Associate Professors: Robert Neches, Ph.D.; Keith Price, Ph.D.; William Swartout, Ph.D.
Research Assistant Professors: Cengiz Alaettinoglu, Ph.D.; Prasanta Bose, Ph.D.; Yolanda Gil, Ph.D.; Ramesh Govindan, Ph.D.; Eduard Hovy, Ph.D.; Lewis Johnson, Ph.D.; Kevin Knight, Ph.D.; Craig Knoblock, Ph.D.; Michael Lyons, Ph.D.; Clifford Neuman, Ph.D.; Wei-Min Shen, Ph.D.; Pedro Szekely, Ph.D.; Milind Tambe, Ph.D.; Joseph Touch, Ph.D.; Richard Weinberg, Ph.D. (Cinema-Television); Wayne Zhang, Ph.D.
Lecturer: John Cordero, Ph.D.
Instructor: Claire Bono
Emeritus Professor: Irving S. Reed (Electrical Engineering)
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 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 School of Engineering; however, the Bachelor of Science degree with a major in computer science is awarded through the College of Letters, Arts and Sciences. Candidates must complete the general education requirements of the College of Letters, Arts and Sciences. Completion of CSCI 120 satisfies both the CSCI 101L and 102 requirements.
Computer science students may take two of the following PDP courses for free elective credit: PDP 111x, 160x, 165x, 225x or 275x.
First Year, First Semester Units COMP 101 Introduction to Expository Writing 4 CSCI 101L Fundamentals of Computer Programming 3 MATH 125 Calculus I 4 General education course or foreign language 4 ____ 15
First Year, Second Semester Units COMP 102 Topics in Expository Writing 4 CSCI 102L Data Structures 4 CSCI 110 Introduction to Digital Logic (EE 101) 3 MATH 126 Calculus II 4 General education course or foreign language 4 ____ 19
Second Year, First Semester Units CSCI 201L Principles of Software Development 4 CSCI 271 Discrete Methods in Computer Science 4 Basic science requirement 1* 4 General education course or foreign language 4 ____ 16
Second Year, Second Semester Units CSCI 402x Operating Systems 3 EE 102L Introduction to Digital Circuits 2 Mathematics elective*** 4 Basic science requirement 2* 4 General education course or foreign language 4 ____ 17
Third Year, First Semester Units CSCI 301 Theory of Computation 3 EE 357 Basic Organization of Computer Systems 3 MATH 225 Linear Algebra and Linear Differential Equations 4 Additional science 1** 4 General education course or foreign language 4 ____ 18
Third Year, Second Semester Units CSCI 303 Design and Analysis of Algorithms 3 CSCI 410x Translation of Programming Languages 4 EE 457x Computer Systems Organization 3 Additional science 2** 4 ____ 14
Fourth Year, First Semester Units CSCI technical electives 6 General education courses 8 ____ 14 Fourth Year, Second Semester Units CSCI technical electives 6 General education courses 8 ____ 14 *Basic science requirement: PHYS 151L and 152L or CHEM 105abL or BISC 106L and 107L.
**Any course in physics, biology or chemistry beyond the basic science requirement or in another scientific discipline. See department for approval.
***Any 400-level mathematics course except MATH 450.
Composition: Expository Writing 111 and 112 can be taken by foreign students in place of Expository Writing 101 and 102.
The Humanities and Social Science courses must be selected from those published in the USC Catalogue and the General Education Addendum consistent with the common requirements for a Letters, Arts and Sciences degree. The student should obtain a new General Education Addendum each semester he or she intends to enroll in a general education course since the courses that can count for graduation as general education courses may vary from semester to semester.
General Education Courses
Undergraduates in computer science must satisfy the general education requirements of the College of Letters, Arts and Sciences for Bachelor of Science degrees. See the College of Letters, Arts and Sciences section of this catalogue.
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 (four courses)
Four upper division computer science courses.
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.
Bachelor of Science in Computer Science (Manufacturing Engineering)
If a student chooses six courses (9 to 18 units) from a prescribed program, he or she may graduate with the special designation Area of Emphasis in Manufacturing Engineering on the transcript. Details are given under Manufacturing Engineering.
Minor in Multimedia and Creative Technologies
See listing under Multimedia and Creative Technologies.Graduate Degrees
The requirements listed below are special to this department and must be read in conjunction with the general requirements of the School of Engineering for master's degrees and the general requirements of the Graduate School for Ph.D. degrees. The graduate program in computer science provides intensive preparation in the basic concepts and techniques related to the design, programming and application of digital computers. Both the Master of Science and Doctor of Philosophy degrees are offered.
A master of science degree with specialization in Software Engineering is also offered. The program seeks to prepare students for an industrial leadership career in software engineering. It also serves as an introduction to this area for students who wish to pursue advanced studies and research leading to a Ph.D.
A master of science degree with specialization in Robotics and Automation is also offered. This program seeks to prepare students for an industrial career in the development of computer systems for CAD/CAM (Computer-Aided Design and Manufacturing) and robotics. It also serves as an introduction to this area for students who wish to pursue advanced studies and research leading to a Ph.D. The emphasis is on the domain of mechanical, electromechanical and mechatronic products. (CAD for digital systems is covered by a separate program offered by the Electrical Engineering-Systems Department.)
A master of science degree with a specialization in computer networks is offered. This specialization prepares students in the areas of computer communications, networks and distributed processing.
Admission and Prerequisites
Admission is determined by the Office of Admissions in consultation with the Computer Science Department. The applicant is required to have a bachelor's degree or its equivalent from an accredited college or university; satisfactory scores on the verbal and quantitative portions of the aptitude test of the Graduate Record Examinations (one advanced test from computer science, mathematics or engineering is recommended); substantial background in computing - the equivalent of USC's undergraduate courses CSCI 101L, 102, 110, 201, EE 357 - constitutes a minimum requirement; and completion of several courses in college level mathematics (at minimum, one discrete mathematics course). Students lacking these prerequisites should complete them at other institutions. Foreign students must earn a satisfactory score on the Test of English as a Foreign Language.
Deficiency requirements Units CSCI 301 Theory of Computation 3 CSCI 402x Operating Systems 3 CSCI 410x Translation of Programming Languages 4 CSCI/EE 457x Computer Systems Organization 3 All applicants for the master's program should have a general breadth in computer science equivalent to the above-listed USC undergraduate courses. Unsatisfactory background in any of these courses is considered a deficiency. Conditional admission may be granted to otherwise qualified students with breadth requirement deficiencies. Students with deficiencies in breadth requirements must take the appropriate courses at USC. All master's students must have an official form from the Computer Science Department in their academic records as the evidence of fulfillment of the breadth requirement, prior to completion of their program of study. No student may take any of the deficiency courses listed above for credit toward a graduate degree in Computer Science.
Master of Science Degree
A minimum grade point average of 3.0 must be earned on all course work applied toward the master's degree in computer science. This average must also be achieved on all 400-level and above course work attempted at USC beyond the bachelor's degree. Transfer units count as credit (CR) toward the master's degree and are not computed in the grade point average. The required courses are three of the following seven courses: EE 557, CSCI 555, 561, 565, 571, 577a and 585. A maximum of nine units may be taken at the 400 level in either electrical engineering or computer science; the remaining units must be approved courses at the 500 or 600 level. CSCI 590 may be counted for a maximum of six units. No examination or master's thesis is required for the degree. Other requirements for the Master of Science in Computer Science are the same as set forth in the general requirements for School of Engineering master's degrees.
Master of Science Degree with Specialization in Computer Networks
Under the networks option students must satisfy the requirements for the Master of Science in Computer Science except that only 15 units of CSCI are required and the following courses must be included in the program: EE/CSCI 450; EE 465 or EE 549; EE 550; CSCI 551, 555, 558; CSCI 590 or 694a or b. Students who can demonstrate that they have already taken these courses (or equivalent) may be waived out of the requirement by a memo from their faculty advisor. All courses must be approved by a faculty advisor. A list of suggested electives is available from the department office.Master of Science in Computer Science (Multimedia and Creative Technologies)
See the listing under Multimedia and Creative Technologies.Master of Science Degree with Specialization in Software Engineering
Students must satisfy all requirements for the Master of Science degree in Computer Science. In addition, they must take the following courses, CSCI 577ab and 665, plus three of the following six courses: CSCI 510, 555, 585, 588, 612, and EE 554. (CSCI 555, 577a, and 585 may be used to satisfy both the general master's degree requirements and the specialization requirements.) Students may also include research for an optional master's thesis in their programs.
Master of Science Degree with Specialization in Robotics and Automation
Students must take EE 545 and three of the following four courses: CSCI 561, 574, 582 and 584. Other requirements are the same as for the Master of Science degree in Computer Science, described above. (CSCI 561 may be used to help satisfy both the general master's requirements and the specialization requirements.) Students may include in their programs research for an optional master's thesis conducted in collaboration with industry.
Doctor of Philosophy
The Doctor of Philosophy degree in computer science is awarded in strict conformity with the general requirements of the Graduate School.Admission to the Ph.D. program in Computer Science is highly selective, based upon a superior academic record, prior training in computer science, letters of recommendation, a statement of purpose and Graduate Record Examinations scores. Particular attention is given to the applicant's potential to perform original research in an area of computer science. Once admitted, the progress of each Ph.D. student is reviewed once a semester by the entire faculty and a determination is made as to whether the student will be allowed to continue in the program. Since research potential is a key factor in the evaluation, new students are strongly urged to begin research with a Computer Science faculty member as soon as possible. See general requirements for graduate degrees.
Screening Procedure
When a student has completed 21 units or more of graduate level studies in computer science at USC, he or she must apply for screening. The screening evaluation takes place during the regular review of Ph.D. students; based upon the student's performance in course work, overall record, and research potential, the screening evaluation determines whether or not the student will be allowed to continue toward the Ph.D.A screening determination of "pass," "no pass" or "postpone" is made; in the latter case, the student must reapply for screening the subsequent semester(s) until a "pass" or "no pass" determination is made.
Guidance Committee
After passing the screening procedure, the student must select a dissertation advisor and form a guidance committee consisting of the dissertation advisor and at least four other faculty members. The committee must include a faculty member from another department who does not hold a joint appointment in Computer Science. All guidance committees must be approved by the department chair and the Graduate School.
Course Requirements
Each Ph.D. student is expected to demonstrate breadth of knowledge as well as depth in a chosen area of concentration. Hence, the required courses fall into two groups: (1) a common core, required of all doctoral students, and (2) additional required courses which depend on the student's area of concentration. The common core consists of five courses selected from the following three groups: systems group: CSCI 551, CSCI 555, CSCI 565, CSCI 571, CSCI 577a, CSCI 585, EE 557; theory group: CSCI 570, CSCI 572, CSCI 581, CSCI 655; artificial intelligence group: CSCI 545, CSCI 561, CSCI 564, CSCI 574, CSCI 582. Students must take two courses from two groups and one course from the third group. A minimum GPA of 3.5 must be obtained in these five core courses. Ph.D. programs in computer science are grouped into the following three tracks: (1) theoretical computer science; (2) language, systems and applications; (3) artificial intelligence, robotics and neural computation.Each student must select a track as his or her area of concentration. Each track requires a minimum of three additional courses. Specific track requirements (which may change as the fields change) will be provided to the students by the department.
Required courses may be taken in any chronological order, with due attention to prerequisites, and may precede or follow the Screening Evaluation.
Deficiencies
In addition to the above, all doctoral students must have knowledge of the material covered in CSCI 271, 301 or 430, CSCI 402, 410, EE 457Lx; these subjects are considered "deficiency courses."A total of 60 units, at least 40 at the 500 level or above, beyond the bachelor's degree is required (including the above required courses). A minimum grade point average of 3.5 must be maintained. Students with a Master of Science degree may transfer up to 27 units.
Qualifying Examination
All doctoral students must pass a qualifying examination in computer science before being admitted to candidacy. The qualifying examination tests the student's broad knowledge of computer science and deep insight into a chosen area of research.Permission to take the qualifying examination must be obtained from the dean of graduate studies at least 60 days prior to its occurrence, and must be taken in the semester for which permission is granted. The guidance committee administers the qualifying examination and evaluates the student's performance. If the examination is failed, the guidance committee may recommend that the student repeat the examination 6-12 months later. The examination cannot be taken more than twice.
Dissertation
An acceptable dissertation based upon original research is required. The dissertation must show mastery of some special field, must be an original contribution to that field and must be presented in scholarly form.
Defense of the Dissertation
When all other requirements are satisfied, the candidate must pass a public final oral examination in defense of the dissertation.
Produced by the USC Division of Student Affairs,
Office of University Publications
univpub@usc.edu