 |
Undergraduate Degree
Email: eesystem@ceng.usc.edu
Bachelor
of Science in Computer Engineering and Computer Science
Students attaining the Bachelor of Science degree in Computer
Engineering and Computer Science would possess the scientific and
engineering skills and knowledge that would enable them to design and
implement computer systems that effectively and efficiently integrate
developing hardware and software technologies. This degree is administered
jointly by the Departments of Computer Science and Electrical
Engineering.
In order to earn the Bachelor of Science degree in Computer Engineering
and Computer Science, the student must: (1) earn 132 class units as
described below; (2) achieve a minimum grade point average of 2.0 on all
course work undertaken at USC; (3) attain a minimum grade point average of
2.0 on all course work completed in Electrical Engineering and Computer
Science at USC.
The following sample four-year program is only an example of how the
required courses might be scheduled. A student does not have to take the
required course work in the order specified in the sample program although
it would be appropriate to try and follow it as closely as possible.
Sample
Four-Year Program
| First Year, First Semester |
Units |
| CSCI 101L |
Fundamentals of Computer Programming |
3 |
| MATH 125 |
Calculus I |
4 |
| General education* |
Social Issues |
4 |
| WRIT 140* |
Writing and Critical Reasoning |
4 |
|
|
____ |
|
|
15 |
| First Year, Second Semester |
Units |
| EE 101 |
Introduction to Digital Logic |
3 |
| EE 105 |
Introduction to Electrical Engineering, or |
|
| CSCI 105 |
Introduction to Computer Science |
3 |
| MATH 126 |
Calculus II |
4 |
| General education |
4 |
|
|
____ |
|
|
14 |
| Second Year, First Semester |
Units |
| CSCI 102L |
Data Structures |
4 |
| EE 102L |
Introduction to Digital Circuits |
2 |
| MATH 226 |
Calculus III |
4 |
| PHYS 151L** |
Fundamentals of Physics I: Mechanics and
Thermodynamics |
4 |
| General education |
4 |
|
|
____ |
|
|
18 |
| Second Year, Second Semester |
Units |
| CSCI 201L |
Principles of Software Development |
4 |
| EE 357 |
Basic Organization of Computer Systems |
3 |
| MATH 225 |
Linear Algebra and Differential Equations |
4 |
| PHYS 152L |
Fundamentals of Physics II: Electricity and
Magnetism |
|
| WRIT 340 |
Advanced Writing |
3 |
|
|
____ |
|
|
18 |
| Third Year, First Semester |
Units |
| CSCI 271 |
Discrete Methods in Computer Science |
4 |
| EE 326L |
Essentials of Electrical Engineering |
4 |
| EE 457 |
Computer Systems Organization |
3 |
| ISE 460 |
Engineering Economy |
3 |
| Science elective*** |
4 |
|
|
____ |
|
|
18 |
| Third Year, Second Semester |
Units |
| CSCI 301 |
Theory of Computation |
3 |
| CSCI 402 |
Operating Systems |
3 |
| EE 327 |
Digital Electronics |
3 |
| MATH 407 |
Probability Theory |
4 |
| General education |
4 |
|
|
____ |
|
|
17 |
| Fourth Year, First Semester |
Units |
| CSCI 303 |
Analysis and Design of Algorithms |
3 |
| EE 454L |
Introduction to Systems Using Microprocessors |
4 |
| General education |
4 |
| Electives**** |
technical |
6 |
|
|
____ |
|
|
17 |
| Fourth Year, Second Semester |
Units |
| EE 459L |
Senior Design Project, or |
|
| CS 477 |
Design and Construction of Large Software Systems |
3 or 4 |
| A 400-level Math course***** |
4 |
| Electives**** |
technical |
8 |
|
|
____ |
|
|
15 or 16 |
*Taken concurrently.
**Satisfies general education requirement for category III.
***See an advisor for a list of science courses that can satisfy this
requirement.
****See an advisor for a list of courses that can satisfy the technical
elective requirement. A CECS major must take a set of courses for at least
one of the following four areas of specialization as part of his or her 14
technical elective units.
a. Theory CSCI 301, CSCI 410, CSCI 430
b. Multimedia and Graphics EE 320, CSCI 351, CSCI 480
c. Advanced Circuit Design EE 477, EE 478, EE 479
d. Software Systems CSCI 351, CSCI 477, CSCI 485
*****Any 400-level Mathematics course can be taken to satisfy this
requirement except MATH 406 or MATH 450.
Minor in
Multimedia and Creative Technologies
See Multimedia and Creative
Technologies.
Graduate
Degrees
The graduate program in computer engineering, offered through the
Department of Electrical Engineering, is designed to provide students with
an intensive background in the analysis, structure, design and function of
digital computers and information processing systems. In addition to
giving each student a fundamental background in digital logic, computer
architecture and operating systems, a wide variety of elective courses
allows for study in the following specialized areas: artificial
intelligence; computer architecture; computer networks; computer system
performance; design automation; fault-tolerant computers; microprocessors;
parallel processing; real-time systems; robotics; and VLSI design.
Master
of Science in Computer Engineering
The Master of Science in Computer Engineering is earned by completing
an integrated program of at least 27 units of approved course work.
It is expected that all applicants have taken the following required
courses in order to be admitted to the program. If not, the student may be
required to take these courses in addition to their 27 units.
| Entrance Requirement Courses |
Units |
| CSCI 455 |
Introduction to Programming Systems Design |
4 |
| EE 357 |
Basic Organization of Computer Systems |
3 |
| EE 454L |
Introduction to Systems Design Using Microprocessors |
4 |
In addition, it is expected that each student in this program take or
have taken the equivalent of the following fundamental courses:
| Fundamental Courses |
Units |
| CSCI 402x |
Operating Systems |
3 |
| CSCI 410x |
Translation of Programming Languages |
4 |
| EE 450 |
Introduction to Computer Networks |
3 |
| EE 457x |
Computer Systems Organization |
3 |
| EE 465 |
Probabilistic Methods in Computer Systems Modeling |
3 |
| EE 477L |
MOS VLSI Circuit Design |
3 |
Students must take the following core courses:
| EE 557 |
Computer Systems Architecture |
3 |
| EE 577a |
VLSI System Design |
3 |
Depth
Courses
Each student must choose one of four areas of specialization: networks,
computer architecture, VLSI and CAD. Six units of depth courses must be
taken in the area of specialization.
Networks: CSCI 551, CSCI 558L, EE 549, EE 550, EE 555, EE 558, EE
650.
Computer Architecture: AE 549a, CSCI 565 or CSCI 595, EE 554, EE 653,
EE 657, EE 659.
VLSI: EE 504L, EE 533ab, EE 536, EE 552, EE 577b, EE 582, EE 599, EE
630, EE 677.
CAD: CSCI 570 or CSCI 579, EE 552, EE 599, EE 658, EE 680, EE 681.
Breadth
Courses
The student must also take 6 units from the following list of breadth
courses associated with his or her chosen area of specialization. For
example, a student who chooses a specialization in VLSI must take 6 units
from the VLSI breadth list.
VLSI: AE 549a, CSCI 551, CSCI 565, CSCI 570, EE 550, EE 554, EE 555, EE
657, EE 658, EE 659, EE 680, EE 681.
CAD: AE 549a, CSCI 551, CSCI 565, EE 504L, EE 533a, EE 536, EE 550, EE
554, EE 555, EE 577b, EE 582, EE 657.
Computer Architecture: CSCI 551, CSCI 570, CSCI 620, EE 504L, EE 533a,
EE 536, EE 549, EE 550, EE 552, EE 555, EE 577b, EE 582, EE 658, EE 680,
EE 681.
Networks: AE 549a, CSCI 565, CSCI 570, EE 504L, EE 533a, EE 536, EE
552, EE 554, EE 577b, EE 582, EE 657, EE 658, EE 659, EE 680, EE 681.
A minimum grade point average of 3.0 (A = 4.0) must be earned on all
course work applied toward the masters degree in computer
engineering. This average must also be achieved on all 400-level and above
course work attempted at USC beyond the bachelors degree. Transfer
units which count as credit (CR) toward the masters degree are not
computed in the grade point average. All other School of Engineering
requirements for the Master of Science apply. See M.S. in Electrical Engineering VLSI Design
and the M.S. in Electrical Engineering
Computer Network degrees section.
Doctor
of Philosophy in Computer Engineering
The requirements for the Doctor of Philosophy (Ph.D.) degree in
computer engineering are in strict conformity with the requirements of the
Graduate School. Program requirements for the Ph.D. in computer
engineering are the same as those for the Ph.D. in electrical engineering
except that the major field is computer engineering. See general
requirements for graduate degrees.
Screening and qualifying examinations are administered by the computer
engineering faculty. Students should contact the Electrical
Engineering-Systems Department Office for further information.
Major
Areas in Computer Engineering and Relevant Courses (not applicable to
M.S., Computer Engineering requirements)
| Computer Systems Architecture |
Units |
| EE 457x |
Computer Systems Organization |
3 |
| EE 554 |
Real Time Computer Systems |
3 |
| EE 557 |
Computer Systems Architecture |
3 |
| EE 653 |
Multithreaded Architectures, Data-Flow Computing and
Functional Programming |
3 |
| EE 657 |
Parallel Processing |
3 |
| EE 659 |
Interconnection Networks |
3 |
| Artificial Intelligence |
Units |
| CSCI 544 |
Natural Language Processing |
3 |
| CSCI 561a |
Artificial Intelligence |
3 |
| CSCI 574 |
Computer Vision |
3 |
| CSCI 598 |
Expert Systems |
3 |
| CSCI 674a |
Advanced Topics in Computer Vision |
3 |
| EE 559 |
Mathematical Pattern Recognition |
3 |
| CSCI 545 |
Robotics |
3 |
| CSCI 547 |
Sensing and Planning in Robotics |
3 |
| EE 546L |
Basic Robotics |
1 |
| ME 548 |
Analytical Methods in Robotic |
3 |
| ME 541 |
Linear Control Systems II |
3 |
| Computer Networks and Distributed Systems |
Units |
| CSCI 551 |
Computer Communications |
3 |
| CSCI 555 |
Advanced Operating Systems |
3 |
| CSCI 579 |
Graph and Combinatorial Algorithms |
3 |
| EE 450 |
Introduction to Computer Networks |
3 |
| EE 549 |
Queueing Theory for Performance Modeling |
3 |
| EE 550 |
Design and Analysis of Computer Communication
Networks |
3 |
| EE 555 |
Broadband Network Architectures |
3 |
| EE 650 |
Advanced Topics in Computer Networks |
|
| Digital Systems Design |
Units |
| EE 552 |
Logic Design and Switching Theory |
3 |
| EE 577ab |
VLSI System Design |
3-2 |
| EE 582 |
Technical Seminar on VLSI Design |
1 |
| EE 658 |
Diagnosis and Design of Reliable Digital Systems |
3 |
| EE 680 |
Computer Aided Design of Digital Systems I |
3 |
|
Computer-Aided Design of Digital Systems II |
3 |
|