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.
The Master of Science in Computer Engineering is earned by completing an integrated program of at least 27 units of approved course work. At most, nine units at the 400 level may be counted toward the degree, and the remaining units must be at the 500 or 600 level. At least 15 units must be taken at the 500 or 600 level in the computer engineering major. (Those courses in computer science cross-listed with electrical engineering are considered computer engineering.) All course work requires the prior approval of a computer engineering faculty member. Elective units may be chosen from a list of computer engineering, computer science, electrophysics, signal processing and mathematics courses.
These elective units will be recommended and approved by the individual computer engineering faculty advisor. A minimum grade point average of 3.0 must be earned on all course work applied toward the master's degree in computer engineering. 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. All other School of Engineering requirements for the Master of Science apply. For the M.S., Electrical Engineering VLSI Design and M.S., Electrical Engineering Computer Network degrees, see the Electrical Engineering section.
Required courses | Units | |
EE 557 | Computer Systems Architecture, and | 3 |
CSCI 402x | Operating Systems, or | |
CSCI 555 | Advanced Operating Systems | 3 |
and one of the following: | ||
CSCI 545 | Robotics | 3 |
EE 549 | Queueing Theory for Performance Modeling | 3 |
EE 550 | Design and Analysis of Computer Communication Networks | 3 |
EE 552 | Logic Design and Switching Theory | 3 |
EE 554 | Real-Time Computer Systems | 3 |
EE/CSCI 561 | Artificial Intelligence | 3 |
EE 577 | VLSI System Design | 3 |
and approved electives | 18 | |
____ | 27 |
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.
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 656 | Fault Tolerant Computer Systems | 3 |
EE 657 | Parallel Processing | 3 |
EE 659 | Interconnection Networks | 3 |
Artificial Intelligence | Units | |
CSCI 544 | Natural Language Processing | 3 |
CSCI 598 | Expert Systems | 3 |
CSCI 674 | Advanced Topics in Computer Vision | 3 |
EE 559a | Mathematical Pattern Recognition | 3 |
CSCI 561 | Artificial Intelligence | 3 |
CSCI 574 | Computer Vision | 3 |
CSCI 592 | Symbolic Computation for Artificial Intelligence | 3 |
Robotics | Units | |
CSCI 545 | Robotics | 3 |
EE 546L | Basic Robotics Laboratory | 3 |
EE 547 | Software Methods in Robotics | 3 |
EE 548 | Analytical Methods in Robotics | 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/EE 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 649 | Applied Performance Evaluation for Computer Systems | 3 |
EE 650 | Advanced Topics in Computer Networks | 3 |
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 677 | VLSI Architectures and Algorithms | 3 |
EE 680 | Computer Aided Design of Digital Systems I | 3 |
EE 681 | Computer Aided Design of Digital Systems II | 3 |
Produced by the USC Division of Student Affairs, Office of University Publications, May 1, 1995