Computer Science and Engineering
Civic and Community Engagement
History and Philosophy of Science
Native American Studies
Graduate Program in Pharmacology and Toxicology
Graduate Program in Networked Systems
Graduate Program in Transportation Science
UCI offers a variety of interdisciplinary programs of study which span the boundaries of traditional academic scholarship and provide students with opportunities to pursue subject areas deriving from the interaction of different disciplines. Faculty participation is determined by research and teaching interests and, as such, faculty may be drawn from various departments and schools across the campus.
This section presents information about the following:
Information Management (major)
Computer Science and Engineering (major)
Civic and Community Engagement (minor)
Global Sustainability (minor)
History and Philosophy of Science (minor)
Native American Studies (minor)
Pharmacology and Toxicology (graduate program)
Networked Systems (graduate program)
Transportation Science (graduate program)
The School of Humanities section presents information about the following:
American Studies (major, minor)
Asian American Studies (major, minor, graduate emphasis)
Asian Studies (minor)
Jewish Studies (minor)
Latin American Studies (minor)
Religious Studies (major, minor)
Women's Studies (major, minor, graduate emphasis)
The School of Law section presents information about the following:
Program in Law and Graduate Studies
The School of Social Sciences section presents information about the following:
Studies (major, minor, graduate emphasis)
Conflict Resolution (minor)
Undergraduate Major in Business Information Management
As the business environment becomes increasingly global and information-centric, the need has increased for graduates who understand and can use technology that gathers and provides information, who are able to distill and recognize patterns in that information, and who can apply those analyses to achieve business objectives.
The undergraduate Business Information Management major administered by the Donald Bren School of Information and Computer Sciences is a collaborative, interdisciplinary degree program between the Bren School and The Paul Merage School of Business. The program seeks to educate students to understand and then apply the theories and concepts of a broad, integrated curriculum covering computing, informatics, business fundamentals, and analytical decision-making. The major prepares students for a wide variety of careers and life experiences. Business Information Management majors can pursue careers in the for-profit and not-for-profit sectors or can proceed to graduate school in several disciplines, including information systems, computing, economics, business, and law.
The curriculum is presented across three general academic areas: Computing (computer science, informatics, and software); Business Foundations (accounting, finance, marketing, strategy, and operations); and Analytical Methods (mathematics, statistics, economics, management science, and decision analysis). The fundamentals of information and computer science, including the rudiments of software design and construction with an emphasis on data management, provide the foundation for understanding, describing, and evaluating the technology through which most business information is gathered and presented. The business fundamentals, covering all the functional areas in the Merage School, provide a background and context in which information and its analysis will be applied.
If the number of Business Information Management applicants exceeds the number of positions available, applicants may be subject to screening beyond minimum University of California admissions requirements.
Freshmen Applicants:See pages 33-37.
Transfer Applicants: Junior-level applicants who satisfactorily complete the following requirements will be given preference for admission:
1. Completion of one year of approved college-level math, preferably courses in calculus equivalent to UCI's Mathematics 2A-B; if not available, two semester courses equivalent to other major-related math courses are acceptable.
2. Completion of one year of transferable computer science courses* with at least one course involving concepts such as those found in Java, Python, Scheme, C++, or other object-oriented or high-level programming language.
3. Completion of one year of introductory accounting theory and practice equivalent to UCI's Management 30A-B.
4. Completion of one year of micro- and macro-economics theory equivalent to UCI's Economics 20A-B.
*NOTE: Additional computer science courses beyond the two required are strongly recommended, particularly those that align with the major(s) of interest. Java is used extensively in the curriculum; therefore, transfer students should plan to learn it by studying on their own or by completing a Java-related programming course prior to their first quarter at UCI.
Additional courses beyond those required for admission must be taken to fulfill the lower-division degree requirements, as many are prerequisites for upper-division courses. For some transfer students, this may mean that it will take longer than two years to complete their degree.
More information is available at http://www.ics.uci.edu/ugrad or at the Bren School of ICS Student Affairs Office; telephone (949) 824-5156; e-mail: firstname.lastname@example.org.
REQUIREMENTS FOR THE B.S. DEGREE IN BUSINESS INFORMATION MANAGEMENT
University Requirements: See pages 54-61.
A. Lower-Division: ICS 31, 32, 33, and 45J, or Informatics 41, 42, and either Informatics 45 or ICS 23, or ICS 21, 22 and either Informatics 45 or ICS 23; Informatics 43 or ICS 52; Mathematics 2A-B, ICS 6D, Mathematics 6G or ICS 6N, Statistics 7 or 8 or 67, Economics 20A-B, Management 30A, 30B.
B. Upper-Division Core: Management 101, 102, 105, 107, 109, 110, 173, 178, 189; CS 121/Informatics 141, CS 122A/EECS116, Informatics 113, Informatics 143, and Statistics 110.
C. Electives: Five upper-division courses, except independent study and internships, with at least three of the five courses to be taken within the Bren School. Upper-division courses completed via the UC Education Abroad Program may also be utilized toward this requirement upon prior approval by the Bren School of ICS Student Affairs Office.
NOTE: Students majoring in Business Information Management may not double major in Business Administration nor minor in Management, Informatics, or Information and Computer Science.
Sample Program of Study - Business Information Management
|Economics 20A||Economics 20B||Informatics 43|
|Math 2A||Math 2B||ICS 6N or Math 6G|
|Writing 39A||Writing 39B||Writing 39C|
|ICS 31||ICS 32||ICS 33|
|Management 30A||Management 30B||Management 102|
|ICS 6D||Stats 7 or 8 or 67||GE III|
|GE II||GE IV||GE IV|
|ICS 45J||CS 122A||Informatics 143|
|Management 107||Informatics 113||GE VII|
|GE IV||Management 101||UD Elective|
|ICS UD Elective||Management 178||UD Writing|
|ICS UD Elective||CS 121||Management 110|
|Management 105||Management 109||GE VIII|
|Management 173||Management 189||ICS UD Elective|
|Statistics 110||UD Elective|
Students are advised that this sample program lists the minimum requirements; it is possible that students may have to take additional courses to prepare for required courses.
The lower-division writing requirement must be completed by the end of the seventh quarter at UCI.
It is strongly recommended that students meet with an academic advisor to create an academic plan tailored to meet their specific areas of interest.
Undergraduate Major in Computer Science and Engineering
Faculty / Courses
The undergraduate program in Computer Science and Engineering is administered by faculty from two academic units: the Department of Computer Science (CS) in the Donald Bren School of Information and Computer Sciences, and the Department of Electrical Engineering and Computer Sciences (EECS) in The Henry Samueli School of Engineering. For faculty listings from respective departments, see pages 356 and 236. Successful completion of the program leads to a B.S. degree in Computer Science and Engineering.
Program Educational Objectives: Graduates of the program will (1) establish a productive Computer Science and Engineering career in industry, government, or academia; (2) engage in professional practice of computer systems engineering and software systems engineering; (3) promote the development of innovative systems and solutions using hardware and software integration; (4) promote design, research, and implementation of products and services in the field of Computer Science and Engineering through strong communication, leadership, and entrepreneurial skills. (Program educational objectives are those aspects of computer science and engineering that help shape the curriculum; achievement of these objectives is a shared responsibility between the student and UCI.)
This program is designed to provide students with the fundamentals of computer science, both hardware and software, and the application of engineering concepts, techniques, and methods to both computer systems engineering and software system design. The program gives students access to multidisciplinary problems in engineering with a focus on total systems engineering. Students learn the computer science principles that are critical to development of software, hardware, and networking of computer systems. From that background, engineering concepts and methods are added to give students exposure to circuit design, network design, and digital signal processing. Elements of engineering practice include systems view, manufacturing and economic issues, and multidisciplinary engineering applications.
Career Paths. Most likely careers will involve building the computer-based infrastructurecomputers, networks, embedded devices, as well as operating systems, compilers, and networking software. The focus is on cooperation between hardware and software to yield the highest performance. Examples of such problem areas would be in traffic management, flight control, earthquake monitoring, automotive control, and smart homes.
High School Students: Students must have completed four years of mathematics through pre-calculus or math analysis and are advised to have completed one year each of chemistry and physics. One semester of programming course work is also advised. That preparation, along with honors courses and advanced placement courses, is fundamental to success in the program.
The Henry Samueli School of Engineering recommends that freshmen applicants in Engineering majors take the SAT Subject Test, Math Level 2.
Transfer Students. Students are encouraged to complete as many of the lower-division degree requirements as possible prior to transfer, including one year of approved calculus; one year of calculus-based physics with laboratories (mechanics, electricity and magnetism); one year of transferable computer science courses* involving concepts such as those found in Java, Python, Scheme, C++, or other object-oriented, high-level programming language, and one additional approved transferable course for the major (an approved math, science, or CSE course).
*Additional computer science courses beyond the two required are strongly recommended, particularly those that align with the major of interest. Java and C++ are used in the curriculum; therefore, transfer students should plan to learn these languages by studying on their own or by completing related programming courses prior to their first quarter at UCI.
Students who enroll at UCI in need of completing lower-division course work may find that it will take longer than two years to complete their degrees. For further information, contact the Donald Bren School of Information and Computer Sciences at (949) 824-5156 or The Henry Samueli School of Engineering at (949) 824-4334.
Change of Major
Students interested in changing their major to Computer Science and Engineering should contact the Student Affairs Office in the Bren School of ICS or The Henry Samueli School of Engineering for information about change-of-major requirements. Information is also available at http://www.changeofmajor.uci.edu.
REQUIREMENTS FOR THE B.S. DEGREE IN COMPUTER SCIENCE AND ENGINEERING
University Requirements: See pages 54-61.
Mathematics and Basic Science Courses:
Mathematics Courses: Students must complete a minimum of 32 units of mathematics including Mathematics 2A-B, 2D, 3A, 3D, ICS 6B, ICS 6D, and Statistics 67.
Basic Science Courses: Students must complete a minimum of 18 units of basic science courses including Physics 7C, 7LC; and Physics 7D and 7LD.
Students select, with the approval of a faculty advisor, two additional basic science courses needed to satisfy school and department requirements.
Engineering and Computer Topics Courses:
Students must complete a minimum of 72 units of engineering topics, 24 units of engineering design, and 63 units of computing topics. All courses in the paragraph below qualify as engineering topics; underlined courses qualify as computing topics also. The following courses must be completed:
CSE31, CSE31L, CSE41, CSE42, CSE43, CSE45C, CSE46, CSE50, CSE70A, CSE90, CSE112, CSE132, CSE132L, CSE135A, CSE135B, CSE141, CSE142, CSE145A, CSE145B, CSE161, CSE181A-B-CW, Informatics 43, EECS111, and EECS148 or Computer Science 132.
Students select, with the approval of a faculty advisor, any additional engineering and computer topics courses needed to satisfy school and department requirements.
Tracks: Students must complete one of the tracks listed below.
Algorithms: Students complete two of the following courses: Computer Science 162, 163, 164, 165, 167, 168, 169, or 179.
Artificial Intelligence: Students complete two of the following courses: Computer Science 116, 171, 175, 177, 178, or 179.
Graphics/Vision: Students complete two of the following courses: Computer Science 112, Computer Science 116, Computer Science 117, or EECS101.
Parallel, Distributed, and Networked Systems: Students complete two of the following courses: EECS117, EECS123, Computer Science 131, 133, 134, or 144.
(The nominal Computer Science and Engineering program will require 188 units of courses to satisfy all university and major requirements. Because each student comes to UCI with a different level of preparation, the actual number of units will vary).
NOTE: Students majoring in Computer Science and Engineering may not complete the major in Computer Engineering, the major in Computer Science, the major or minor in Information and Computer Science, or the minor in Informatics.
Sample Program of Study- Computer Science and Engineering
|Mathematics 2A||Mathematics 2B||Mathematics 2D|
|General Education||Physics 7C, 7LC||Physics 7D, 7LD|
|General Education||General Education||CSE31|
|Mathematics 3A||Mathematics 3D||ICS 6B|
|CSE31L||Science Elective||General Education|
|Informatics 43||Statistics 67||CSE142|
|EECS148 or Comp Sci 132||Track||Science Elective|
|General Education||General Education||General Education|
Courses in Computer Science and Engineering
(Schedule of Classes designation: CSE)
CSE21 Introduction to Computer Science I (6). Introduces fundamental concepts related to computer software design and construction. Develops initial design and programming skills using a high-level language. Fundamental concepts of control structures, data structures, and object-oriented programming. Same as ICS 21. Only one course from CSE21/ICS 21, ICS H21, CSE41/ICS 31, EECS10, EECS12, and MAE10 may be taken for credit. May not be taken for credit after Informatics 42. (II, Vb)
CSE22 Introduction to Computer Science II (6). Abstract behavior of classic data structures (stacks, queues, sorted and unsorted maps), alternative implementations, analysis of time and space efficiency. Recursion. Object-oriented and functional programming. Prerequisite: CSE21/ICS 21 or ICS H21 with a grade of C or better. Same as ICS 22. Only one course from CSE22/ICS 22, ICS H22, CSE42/ICS 32, CSE43/ICS 33, EECS10, EECS12, MAE10, or Informatics 42 may be taken for credit. (II, Vb)
CSE31 Introduction to Digital Systems (4) F, Summer. Course may be offered online. Digital representation of information. Specification, analysis, design and optimization of combinational and sequential logic, register-transfer components and register-transfer systems with datapaths and controllers. Introduction to high-level and algorithmic state-machines and custom processors. Prerequisite: CSE41/ICS 31, EECS10, EECS12, MAE10, CSE21/ICS 21, or ICS H21. Same as EECS31. (Design units: 2) Computer Science and Engineering majors have first consideration for enrollment.
CSE31L Introduction to Digital Logic Laboratory (3) W. Course may be offered online. Introduction to common digital integrated circuits: gates, memory circuits, MSI components. Operating characteristics, specifications, and applications. Design of simple combinational and sequential digital systems (arithmetic processors game-playing machines). Construction and debugging techniques using hardware description languages and CAD tools. Prerequisites: CSE31/EECS31; EECS10, EECS 12, CSE22/ICS 22, or CSE42/ICS 32. Same as EECS31L. (Design units: 3) Computer Science and Engineering majors have first consideration for enrollment.
CSE41 Introduction to Programming (4). Introduction to fundamental concepts and techniques for writing software in a high-level programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, input/output, methods, classes, and pragmatics of programming. Same as ICS 31. Only one course from ICS 21/CSE21, ICS H21, ICS 31/CSE41, EECS10, EECS12, ENGR10, and MAE10 may be taken for credit. (II, Vb)
CSE42 Programming with Software Libraries (4). Construction of programs for problems and computing environments more varied than in CSE41. Using library modules for applications such as graphics, sound, GUI, database, Web, and network programming. Language features beyond those in CSE41 are introduced as needed. Prerequisite: ICS 31/CSE41 with a grade of C or better. Same as ICS 32. Only one course from ICS 32/CSE42, ICS 22/CSE22, ICS H22, or Informatics 42 may be taken for credit. (II; Va or Vb)
CSE43 Intermediate Programming (4). Intermediate-level language features and programming concepts for larger, more complex, higher-quality software. Functional programming, name spaces, modules, class protocols, inheritance, iterators, generators, operator overloading, reflection. Analysis of time and space efficiency. Prerequisite: ICS 32/CSE42 with a grade of C or better. Same as ICS 33. Only one course from ICS 33/CSE43, ICS 22/CSE22, ICS H22, or Informatics 42 may be taken for credit. (II, Vb)
CSE46 Data Structure Implementation and Analysis (4). Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques. Prerequisite: CSE22/ICS 22 or ICS H22 with a grade of C or better, or Informatics 42 with a grade of C or better, or EECS40. Same as ICS 46. CSE46/ICS 46 and ICS H23 may not both be taken for credit. Formerly CSE23. (Vb)
CSE50 Discrete-Time Signals and Systems (4). Analysis of discrete-time linear-time-invariant (DTLTI) systems in the time domain and using z-transforms. Introduction to techniques based on Discrete-Time, Discrete, and Fast Fourier Transforms. Examples of their application to digital signal processing and digital communications. Prerequisite: CSE70A/EECS70A. Same as EECS50. Formerly CSE120A. (Design units: 0) Computer Science and Engineering majors have first consideration for enrollment.
CSE70A Network Analysis I (4) W, Summer. Modeling and analysis of electrical networks. Basic network theorems. Sinusoidal steady state and transient analysis of RLC networks and the impedance concept. Corequisite: Mathematics 3D. Prerequisites: Physics 7D; EECS10, EECS12, MAE10, CSE41/ICS 31, CSE21/ICS 21, or ICS H21. Same as EECS70A. (Design units: 1) Computer Science and Engineering majors have first consideration for enrollment.
CSE90 Systems Engineering and Technical Communications (2). Introduces systems engineering concepts, including specifications and requirements, hardware and software design, integration, testing, and documentation. Emphasizes organization and writing of reports and effective presentations. Computer Science and Engineering majors have first consideration for enrollment.
CSE104 Principles of Operating Systems (4). Principles and concepts of process and resource management, especially as seen in operating systems. Processes, memory management, protection, scheduling, file systems, and I/O systems are covered. Concepts illustrated in the context of several well-known systems. Prerequisites: ICS 23/CSE23 or ICS 46/CSE46; ICS 51 or EECS31/CSE31; all with grades of C or better. Same as Computer Science 143A. Only one course from CSE104/Computer Science 143A and EECS111 may be taken for credit.
CSE112 Electronic Devices and Circuits (4). A first course in the design of Very Large Scale Integrated (VLSI) systems. Introduction to CMOS technology; MOS transistors and CMOS circuits. Analysis and synthesis of CMOS gates. Layout design techniques for building blocks and systems. Introduction to CAD tools. Prerequisites: Physics 7D and CSE70A/EECS70A. Only one course from CSE112, EECS119, and EECS170D may be taken for credit. (Design units: 4) Computer Science and Engineering majors have first consideration for enrollment.
CSE132 Organization of Digital Computers (4). Building blocks and organization of digital computers, the arithmetic, control, and memory units, and input/out devices and interfaces. Microprogramming and microprocessors. Prerequisite: CSE31L/EECS31L. Same as EECS112. CSE132/EECS112 and Computer Science 152 may not both be taken for credit. (Design units: 4) Computer Science and Engineering majors have first consideration for enrollment.
CSE132L Organization of Digital Computers Laboratory (3). Specification and implementation of a processor-based system using a hardware description language such as VHDL. Hands-on experience with design tools including simulation, synthesis, and evaluation using testbenches. Prerequisite: CSE132/EECS112. Same as EECS112L. (Design units: 3) Computer Science and Engineering majors have first consideration for enrollment.
CSE135A Digital Signal Processing (3) F. Nature of sampled data, sampling theorem, difference equations, data holds, z-transform, w-transform, digital filters, Butterworth and Chebychev filters, quantization effects. Prerequisite: CSE50/EECS50. Same as EECS152A. (Design units: 2) Computer Science and Engineering majors have first consideration for enrollment.
CSE135B Digital Signal Processing Design and Laboratory (3) W. Design and implementation of algorithms on a DSP processor and using computer simulation. Applications in signal and image processing, communications, radar, and more. Prerequisite: CSE135A/EECS152A. Same as EECS152B. (Design units: 3) Computer Science and Engineering majors have first consideration for enrollment.
CSE141 Concepts in Programming Languages I (4). Course may be offered online. In-depth study of several contemporary programming languages stressing variety in data structures, operations, notation, and control. Examination of different programming paradigms, such as logic programming, functional programming and object-oriented programming; implementation strategies, programming environments, and programming style. Prerequisites: Informatics 42 or ICS 51 or CSE31/EECS31 with a grade of C or better; Informatics 45 or ICS 23/CSE23 or ICS 33/CSE43 with a grade of C or better. Same as Computer Science 141/Informatics 101.
CSE142 Compilers and Interpreters (4). Introduction to the theory of programming language processors covering lexical analysis, syntax analysis, semantic analysis, intermediate representations, code generation, optimization, interpretation, and run-time support. Prerequisite: CSE141/Computer Science 141/Informatics 101. Same as Computer Science 142A.
CSE145A Embedded Computing Systems (4). Principles of embedded computing systems: embedded systems architecture, hardware/software components, system software and interfacing, real-time operating systems, hardware/software co-development, and communication issues. Examples of embedded computing in real-world application domains. Simple programming using an embedded systems development environment. Prerequisites: ICS 23/CSE23 or ICS 46/CSE46, ICS 51 or CSE31/EECS31, all with a grade of C or better, and CSE132/EECS112. Same as Computer Science 145A. (Design units: 0)
CSE145B Embedded Computing System Laboratory (2). Laboratory to accompany CSE145A. Corequisite: CSE145A/Computer Science 145A. Same as Computer Science 145B. (Design units: 0)
CSE161 Design and Analysis of Algorithms (4). Techniques for efficient algorithm design, including divide-and-conquer and dynamic programming, and time and space analysis of algorithms. Fast algorithms for problems having applications in networks, computer games, graphics, and scientific computing, such as sorting, shortest paths, minimum spanning trees, network flow, and pattern matching. Prerequisites: ICS 23/CSE 23 or ICS 46/CSE 46 with a grade of C or better; ICS 6B; ICS 6D; Mathematics 2B. Same as Computer Science 161.
CSE181A-B Senior Design Project (3-3). Teaches problem definition, detailed design, integration and testability with teams of students specifying, designing, building, and testing complex systems. Lectures include engineering values, discussions, and ethical ramifications of engineering decisions. Corequisite: CSE135A/EECS152A. Prerequisite: CSE104/Computer Science 143A. CSE181A-B-C must be taken in the same academic year. (Design units: 3-3) CSE181A-B: Computer Science and Engineering majors have first consideration for enrollment.
CSE181C Senior Design Project (3). Completion, documentation, and presentation of projects started in CSE181A-B. Teaches engineering documentation writing and presentation skills. Students write comprehensive project reports individually. Each student participates in a public presentation of the project's results. Prerequisites: CSE181A-B and satisfactory completion of the lower-division writing requirement. CSE181A-B-C must be taken in the same academic year. Computer Science and Engineering majors have first consideration for enrollment.
CSE199 Individual Study (1 to 4). Supervised independent reading, research, or design for undergraduate Engineering majors. Students taking individual study for design credit are to submit a written paper to the instructor and to the Undergraduate Student Affairs Office in the School of Engineering. May be taken for credit for a total of 8 units. (Design units: varies)
CSE199P Individual Study (1 to 4). Supervised independent reading, research, or design for undergraduate Engineering majors. Students taking individual study for design credit are to submit a written paper to the instructor and to the Undergraduate Student Affairs Office in the School of Engineering. Pass/Not Pass only. May be repeated for credit as topics vary. (Design units: varies)