The Master of Science degree in Information and Computer Science is awarded only to Ph.D. students who complete necessary requirements. Students are not admitted for graduate study leading only to the Master's degree.
The graduate program leads to a Ph.D. degree in Information and Computer Science with a concentration in one of the following five areas: Artificial Intelligence (AI); Computer Systems Design (CSD); Computing, Organizations, Policy, and Society (CORPS); Software; or Algorithms and Data Structures (Theory). Additionally, an area of specialization other than one of these concentrations may be chosen with the approval of the graduate advisor.
The program is research oriented and encourages students to work together with faculty to solve advanced problems in computer science. The program is designed for full-time study and can be completed in five to six years, depending upon the focus of research. Students enrolled in the Ph.D. program must maintain satisfactory academic progress.
Admission
Applicants will be evaluated on the basis of their prior academic record and their potential for creative research and teaching in Information and Computer Science. Applicants are expected to have (1) skills in computer programming at least equivalent to those obtained in a college-level course in programming, and (2) skills in mathematics equivalent to those obtained in complete college-level courses in logic and set theory; analysis; linear algebra and modern algebra; or probability and statistics. Computer Science undergraduate training is not required but is strongly encouraged; familiarity with programming languages, data structures, analysis of algorithms, automata theory or formal languages, and computer architectures is very helpful.
Applicants must take the GRE General Test and are strongly encouraged to take one Advanced Subject Test. Application forms and additional information about the graduate program in Information and Computer Science may be obtained by writing to the graduate counselor in the Department.
Financial Assistance
Financial assistance is available to students in the form of scholarships, teaching assistantships, and research assistantships. More than half of the doctoral students in residence receive financial assistance.
Teaching Requirements
All ICS doctoral students are required to participate in teaching activities before being advanced to candidacy. Teaching activities in summer or night school or service at other universities may be accepted in fulfillment of this requirement.
Course Substitutions
A student who has taken relevant graduate courses at UCI or another university may petition to have a specific course certified as equivalent to one which satisfies ICS requirements. The petition should describe the two courses and can be approved either by a committee composed of the student's faculty advisor, the ICS Associate Chair for Graduate Studies, and a faculty member who is in the area in which the course is taught or by the ICS Graduate Policy Committee.
Examinations and Dissertation
Each student must present a research talk to a group of faculty and graduate students and pass a comprehensive examination which will be evaluated by the faculty. The comprehensive examination and all course requirements must be satisfied prior to the student's application for advancement to candidacy. Information on the selection of committees, advancement to candidacy, development of a doctoral dissertation, and final examination on the dissertation is available from the ICS Associate Chair for Graduate Studies.
Artificial intelligence has as its twin goals the understanding of living intelligence and the creation of intelligent artifacts. Inherently interdisciplinary, work in the field draws heavily on solid results from the theory of computation, cognitive and behavioral psychology, and neuroscience. Topics range from "bottom-up" modeling of brain operation and its emergent function to high-level operations such as problem-solving, learning, language understanding, and reasoning.
The ICS artificial intelligence group maintains a balance between these two concerns, recognizing that each contributes to the other. Of particular importance to AI researchers in ICS are findings from psychology and neurobiology that suggest computational algorithms, and analyses of such algorithms that suggest explanations for capabilities and limitations of human cognition. The ICS artificial intelligence group is also distinguished by its concern with machine learning--the mechanisms by which knowledge is acquired through experience.
Required Courses
The following courses must be passed with a grade of B or better: Seminar in Research in ICS (ICS 202); two courses of Special Topics in Information and Computer Science (ICS 280) taught by AI area faculty; three courses selected from: Introduction to Artificial Intelligence (ICS 270A), Machine Learning (ICS 273A), Network-based Reasoning/Constraint Networks (ICS 275A), or Neural Networks (ICS 276A); two additional courses from: Advanced Artificial Intelligence Programming (ICS 270B), Knowledge Representation in AI (ICS 271A), Qualitative Reasoning (ICS 271B), Problem Solving and Planning (ICS 272A), Natural Language Processing (ICS 272B), Diagnosis (ICS 272C), Network-based Reasoning/ Belief Networks (ICS 275B), Seminar in Models of the Brain (ICS 276B), Cognitive and Computational Neuroscience (ICS 276C); and five graduate courses outside of Artificial Intelligence, at least three of which must be within the ICS Department.
Paper Requirement
Each student must write two research papers of publishable quality.
New application areas are placing increasingly challenging demands on existing computer systems. At the same time, advanced technologies are being developed that make the design and manufacturing of computer systems faster and cheaper. The current trend in computerization is toward application-targeted systems that solve specific problems well. The development of such systems requires an understanding of the complex interactions between applications, software, and hardware.
The Computer Systems Design area addresses the various aspects of bridging the gap between the demands of new applications and available technology. It is designed to produce computer scientists with an increased awareness of the demands imposed on computers by the application domains which have traditionally been viewed as extrinsic to computer science. This application sensitivity will give students a unique advantage in the increasingly important area of integrated software/hardware computer and information systems and will prepare them to meet the challenges of real-world problems.
Required Courses
Computer Systems Design is a broad concentration and is divided into two specializations: (1) Design Science, and (2) Parallel, Distributed, and Network Systems. The course requirements for Computer Systems Design have been selected to encourage students to take courses in either one of these two speciality areas.
The following courses must be passed with a grade of B or better: Seminar in Research in ICS (ICS 202); at least three quarters of either Seminar in Parallel Distributed and Network Systems (ICS 249) or Seminar in Design Science (ICS 259); five graduate courses outside of Computer Systems Design but within ICS, no more than three of which may be in one area; and five core courses selected from the following (four from the student's area of specialization and one from the other area):
Design Science: Computer Systems Architecture (ICS 241), Digital System Verification and Testing (ICS 251), Introduction to Computer Design (ICS 252), Design Description and Modeling (ICS 253), VLSI System Design (ICS 254), Physical Design Automation (ICS 255), Design Synthesis (ICS 256), System Tools (ICS 257).
Parallel, Distributed, and Network Systems: Computer Systems Architecture (ICS 241), Parallel Computer Architectures and Languages (ICS 242), Computer Networks (ICS 243), Parallel Computing (ICS 244), High-Performance Architectures and Their Compilers (ICS 245), Computer Systems Modeling and Performance Evaluation (ICS 246), Distributed Computer Systems (ICS 247).
Paper Requirement
Each student must write two research papers of publishable quality.
UCI is an internationally recognized center for research on the social and managerial dimensions of computerization. One stream of this research examines the impacts and policy issues that surround computerization. A second stream, which is longitudinal and organizational in emphasis, examines the ways in which users develop computing technologies, including workplace negotiations and coalitions. CORPS researchers study these topics in various public and private settings including government agencies, large and small commercial enterprises, and universities.
CORPS has recently added research focusing on computer-supported cooperative work and human-computer interaction. Examples of specific interests are social and behavioral factors affecting the design and adoption of groupware, and technical support for organizational learning and memory. Work in these areas consists of both empirical research and the building of prototype systems.
Other projects focus on information technologies such as digital libraries and decision support systems. CORPS researchers focus on understanding the "reality" of computerization, in contrast with utopian promises and anti-utopian fears. A large fraction of the research is empirical, and is conducted in vivo--in organizations or other social settings where computer-based systems are developed and used routinely. The empirical studies of work organization and organizational control patterns also have an important theoretical dimension. Other theoretical studies conducted by CORPS researchers build upon a broad body of empirical studies of the social dimensions of information technologies.
Required Courses
The following courses must be passed with a grade of B or better: Seminar in Research in ICS (ICS 202); Social Analysis of Computing (ICS 230); at least three quarters of Seminar in Research on Social Analysis and Information Systems (ICS 239); four courses chosen from: Computer Supported Cooperative Work (ICS 233), Computerization, Work, and Organizations (ICS 234A), Theories of Computerization and Information Systems (ICS 234B), Qualitative Research Methods in Information Systems (ICS 235A), Quantitative Research Methods in Information Systems (ICS 235B); and five or six graduate courses outside of CORPS, only one of which may be ICS 280.
The five or six courses are chosen as follows. A student who does not elect to take an optional minor outside of ICS must take five graduate courses within ICS in at least two areas other than CORPS. A student who elects to take a minor outside of ICS must take three graduate courses within ICS in at least two areas other than CORPS, in addition to three graduate courses outside of ICS. The minor outside of ICS consists of three graduate courses which form a coherent area of study.
Paper Requirement
Each student must write a survey paper and a research paper of publishable quality.
The ICS software faculty is engaged in fundamental studies, development, integration, and empirical evaluation of technologies in four key subareas of software and software engineering research: modeling and analysis; environments; advanced methods and tools; and evaluation.
The modeling and analysis of software systems has been in existence the longest and is a traditional part of software development. Concerns of correctness and performance are considered here, as well as tasks such as debugging.
Software development environments can promote efficient application of tools, provide uniform user interfaces, manage the multitude of objects created during the life of a software system, and be proactive in supporting development and maintenance activities. The challenge here is in creating extensible environment architectures which incorporate the best features from early environments, satisfy the demands of new tools, and integrate analysis, design, and management methods. The emphasis on advanced methods and tools includes work on novel software development processes and their representation and advanced tools that automate significant portions of processes. The emphasis of the evaluation research area is to study, develop, and apply methods for characterizing and evaluating the effect of software technologies on the software development process, the delivered software product, and the software developers. Controlled empirical studies play a central role in the assessment of software technologies and in the advancement of theories of software development.
Background: Students must have basic competency in the following computer science topics: programming language concepts, data structures, analysis of algorithms, automata theory or formal languages, artificial intelligence, computer architecture, and operating systems. The software faculty will evaluate, upon entry to the Ph.D. program, whether a student has satisfied these requirements through courses taken previously (e.g., at the undergraduate level) or through equivalent experience. Satisfaction of any unfulfilled requirements may be achieved through either graduate or undergraduate classes in an individualized program worked out with a software area graduate advisor.
Required Courses
The following courses must be passed with a grade of B or better: Seminar in Research in ICS (ICS 202); Software Engineering (ICS 221A); Formal Methods in Software Engineering (ICS 222); at least three quarters of Seminar in Software (ICS 229); two courses from: Software Analysis and Testing (ICS 224A), Software Processes (ICS 225), Software Measurement (ICS 226), Software Environments (ICS 228); two other courses from the Software area (ICS 220 - 228, including ICS 280s taught by Software area faculty); and four graduate courses outside of Software, including Fundamentals of Scientific Research (ICS 201) and Models of Computing (ICS 203), drawn from a list maintained by the faculty.
Paper Requirement
Each student must write a survey paper with an extensive bibliography and a research paper of publishable quality.
The goal of research in theoretical computer science is to produce results, supported by rigorous proof, about problems dealing with computers and their applications. The questions to be investigated are often motivated by practical problems, but the goal of understanding the underlying combinatorial properties of the problem is often as important as producing a solution of immediate applicability. The actual problems to be solved are often very complicated, so researchers seek some abstraction that can be rigorously studied. In particular, they often seek to investigate the fundamental combinatorial structure of a problem abstracted away from the original physical setting. For example, the problem of placing a set of files onto as few floppy disks as possible without exceeding their storage capacity is fundamentally the same as the problem of loading a set of items onto as few trucks as possible without exceeding their weight limit. Many problems, from a variety of application areas, fall into the category of efficient algorithm design.
A key property of work in this area is its emphasis on the amount of resources required by a given algorithm; this is called the complexity of the algorithm. The resource most commonly considered is time, but other resources often considered are the amount of memory required and, in the case of parallel computation, the number of processors required. For many problems, an efficient solution has been obtained only after deep insights into the nature of the problem. For many problems, the efficiency of the best solution possible remains unknown.
Research in algorithms and data structures grapples with such questions. It is a young science with an inherently interdisciplinary flavor. Problems to be investigated have come from a variety of sources, such as VLSI design, image processing, genetics, transportation, and artificial intelligence. Solution methods are brought to bear from areas such as discrete applied mathematics, probability theory, and a rich body of insights developed within theoretical computer science. The goal of the research, as in mathematics, is to produce results supported by rigorous proof; the emphasis on complexity gives this area its unique flavor. Results that first might appear to be only of theoretical value are sometimes of profound relevance to practical problems.
Required Courses
The following courses must be passed with a grade of B or better: Seminar in Research in ICS (ICS 202); Data Structures (ICS 261); Automata Theory (ICS 262); Analysis of Algorithms (ICS 263); two courses from: Advanced Analysis of Algorithms (ICS 264), Graph Algorithms (ICS 265), Computational Geometry (ICS 266), Special Topics in ICS (ICS 280) taught by Theory faculty; and five graduate courses outside of Theory, at least three of which must be within ICS; if the student has an optional minor, at least two of these courses must be outside the minor.
Paper Requirement
Each student must write a survey paper and a research paper of publishable quality.