DONALD BREN SCHOOL OF INFORMATION AND COMPUTER SCIENCES

UNDERGRADUATE PROGRAM

Admissions

Major and Minor Restrictions

Concentration in Game Culture and Technology

Undergraduate Major and Courses in Information and Computer Science

Department of Computer Science

Department of Informatics

The School's undergraduate program prepares students for professions and careers in industry and provides students with the tools for advanced education at the graduate level. Many graduates follow career paths immediately after graduation; others go on to advanced study in a variety of fields, including computer science, management, engineering, law, and medicine. An ICS undergraduate education is a blend of scholarship, science, technology, and practical application that forms an excellent foundation for professional life in the twenty-first century and prepares a student with serviceable skills useful for a lifetime.

The basis of the undergraduate program is a set of fundamental courses in mathematics and computer science, supplemented by breadth requirements from other academic disciplines. A premium is placed on writing and quantitative skills. Students start early with hands-on experience with advanced computing systems, and intense use of computer and network technologies continues throughout the undergraduate program. Students study data organization, algorithm design and analysis, design and organization of hardware and network systems, software engineering, artificial intelligence, social aspects of system design and use, and management of technology. In the process, students work with state-of-the-art hardware and software technologies, learn several contemporary programming languages, and make extensive use of computer-based utilities such as electronic mail.

The Donald Bren School of Information and Computer Sciences offers four majors: Information and Computer Science (ICS); Computer Science (CompSci); Computer Science and Engineering (CSE), offered jointly with the Henry Samueli School of Engineering; and Informatics. There are also programs of study leading to minors in Information and Computer Science and in Informatics.

B.S. in Information and Computer Science. The overall field of information and computer science spans a vast spectrum of topics. At the one end, it includes computer system design and networking, detailing how modern computer hardware and networks operate on a day-to-day basis. At the other end are human factors, such as how software should be structured to facilitate cooperative work among groups of people. The B.S. in Information and Computer Science (ICS) provides students with a broad introduction to these topics. Through the selection of elective courses, students may choose to specialize in one or more of six areas: artificial intelligence, computer systems, implementation and analysis of algorithms, information systems, networks and distributed systems, or software systems.

B.S. in Computer Science. Computer science as an area of study has been around for over four decades now. During that time, the field has evolved and grown considerably. The Computer Science (CS) major provides students with an education that focuses on the operation of computers and the software that runs them. Additionally, students may take a variety of courses to broaden their knowledge and/or specialize in particular areas. For instance, the major is well-suited for a more in-depth study in traditional topics such as artificial intelligence, advanced data structures, expert systems, and computer graphics, as well as more modern topics such as computational biology and computer games.

B.S. in Computer Science and Engineering. 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 Computer Science and Engineering major 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. The program is administered jointly by the Department of Computer Science in the Bren School of ICS and the Department of Electrical Engineering and Computer Science in The Henry Samueli School of Engineering. See the Catalogue's Interdisciplinary Studies section for information.

B.S. in Informatics. Within the overall discipline of information and computer science, the Informatics major is concerned with the relationship between what is inside the computer and what is outside. The Informatics major addresses the broad set of issues surrounding design, ranging from initial requirements gathering to estimating and measuring the impact of alternative solutions—all from a multidisciplinary perspective that includes computer science, information science, organizational science, social science, and cognitive science.

Major and Minor Restrictions

The major or minor in Information and Computer Science (ICS) cannot be combined with the majors in Computer Science (CS), Computer Science and Engineering (CSE), or Informatics.

The major in Computer Science (CS) cannot be combined with the major in Computer Science and Engineering (CSE).

The major in Computer Science and Engineering (CSE) cannot be combined with the major in Computer Engineering (offered by The Henry Samueli School of Engineering).

Bren School of ICS majors may not minor in Informatics.

Students who have completed both ICS 21 and 22 with grades of C or better and who wish to change majors to Informatics may use ICS 21 and 22 in satisfaction of the requirements of Informatics 41 and 42, and similarly with ICS 52 and Informatics 43.

Students who have completed both Informatics 41 and 42 with grades of C or better and who wish to change majors to Information and Computer Science or Computer Science may use Informatics 41 and 42 in satisfaction of the requirement of ICS 21 and 22, and similarly with Informatics 43 and ICS 52.

Students enrolled in other degree programs who are interested in the field of computer science may pursue the introductory course sequences (ICS 21 and 22 or Informatics 41 and 42) followed by other courses (such as ICS 23 or Informatics 43) as far as their interests require and their programs permit.

The ICS Student Affairs Office is staffed by professional academic counselors and peer advisors. These individuals are available to assist students with program planning, questions on University and School policies and procedures, progress toward graduation, and other questions that arise in the course of a student's education. Faculty also are available for advising, generally for suggestions of additional course work in the student's area of specialization and on preparation for graduate school.

ADMISSIONS

To ensure admission consideration for the fall quarter, students should be sure to file their application by November 30 of the prior year. The selection criteria include grades, test scores, and other considerations.

Transfer Student Policy

Transfer requirements vary by major. See department sections for information.

NOTE TO TRANSFER APPLICANTS: These majors require a series of lower-division courses, and prerequisites constrain the order in which they can be taken. Junior-level transfer students who must complete a significant part of this sequence may find that it will take longer than two years to complete their degree.

Change of Major

Students interested in changing their major to one offered by the School should contact the ICS Student Affairs Office for more information and assistance. Information is also available at http://www.due.uci.edu/Change_of_Major.html.

Major and minor restrictions: See above.

SPECIAL PROGRAMS AND COURSES

The Bren School of ICS Honors Program

The Bren School of ICS Honors Program provides selected upper-division students an opportunity to carry out a research project under the direction of a faculty member in the School. Students who have completed the necessary course work and meet academic eligibility guidelines must submit a formal application. Eligible students participate in the ICS Honors Seminar (ICS H197), which provides an introduction to the range of current faculty research. Each student then affiliates with an ICS faculty advisor who agrees to supervise a minimum of two quarters of independent research. The Honors Program student prepares a final written report of the independent research and submits a copy for review to both the faculty advisor and the Honors Program advisor. If each advisor verifies that the conducted research was of honors quality, the student is deemed to have successfully completed the Bren School of ICS Honors Program. Successful completion of the Honors Program earns the student a certificate and medal from the School. Further, a notation of successful completion is added to the student's transcript. For more information about course requirements, application procedures, and deadlines (which may be different for students who enter UCI as freshmen or transfers), visit http://www.ics.uci.edu/ugrad/honors/index.php, or contact the Student Affairs Office at (949) 824-5156.

Concentration in Game Culture and Technology

The concentration in Game Culture and Technology is available to students majoring in Information and Computer Science, Informatics, Computer Science, and Studio Art. It exposes advanced students to an influential and expanding sector of media culture and contemporary art and technology practice, facilitates students' media literacy in relation to an increasingly prevalent art and entertainment form, and enables students to be more critical consumers and producers of new media art and culture.

Admission Criteria. Admission will be by review at the end of each spring quarter. Students will be notified of acceptance by the beginning of the following fall quarter at latest. Acceptance will be based on: (1) written statement of purpose; (2) portfolio; (3) prior course work; and (4) transcripts. The application packet should be sent to Professor Robert Nideffer, Studio Art Department. A maximum of 12 students will be admitted per year in an effort to ensure access to Game Culture and Technology Laboratory research and development facilities in Claire Trevor School of the Arts, Calit2, and the Institute for Software Research (ISR), all of which may be used to support student projects. The earliest students may apply for admission is at the end of their freshman year, and the latest they may apply is at the end of their junior year.

Requirements. Students must complete a total of eight courses (32 units) from within the two schools, which may also be used to satisfy existing requirements.

A.   Three courses (12 units): Studio Art 135 (Gaming Studies), 166 (Advanced Collaborative Projects), and Computer Science 113/Informatics 125 (Computer Game Development).

B.   Three courses (12 units) chosen from: Studio Art 106 (Interactive Digital Media), 110 (Interdisciplinary Digital Arts), 138 (World Building), 175 (Digital Art Aesthetics), Informatics 43 (Informatics Core Course III) or ICS 52 (Introduction to Software Engineering), Informatics 121 (Software Design I), 131 (Human-Computer Interaction), 132 (Project in Human-Computer Interaction and User Interfaces), Computer Science 112 (Computer Graphics), 171 (Introduction to Artificial Intelligence), 175 (Project in Artificial Intelligence).

C.   Two courses (8 units) chosen from: Studio Art 197 (Internship), 199 (Independent Study), Computer Science H198 (Honors Research), 199 (Individual Study), Informatics H198 (Honors Research), and 199 (Individual Study).

The 3-2 Program with The Paul Merage School of Business

Outstanding students who are interested in a career in management may wish to apply for entry into The Paul Merage School of Business' 3-2 Program. Students normally apply for this program early in their junior year. See The Paul Merage School of Business section for additional information.

Campuswide Honors Program

The Campuswide Honors Program is available to selected high-achieving students from all academic majors from their freshman through senior years. For more information contact the Campuswide Honors Program, 1200 Student Services II; telephone (949) 824-5461; e-mail: honors@uci.edu; World Wide Web: http://www. honors.uci.edu/.

Education Abroad Program

Upper-division students have the opportunity to experience a different culture while making progress toward degree objectives through the Education Abroad Program (EAP). EAP is an overseas study program which operates in cooperation with host universities and colleges throughout the world. Additional information is available in the Center for International Education section.

Undergraduate Major in Information and Computer Science

The Information and Computer Science (ICS) major provides students with a broad introduction to topics ranging from computer system design and networking to software design and computer-supported cooperative work. Through the completion of four elective courses, students may choose to specialize in one or more of six areas (see below under Major Requirements). ICS majors may also choose to complete the Game Culture and Technology concentration, an interdisciplinary course of study requiring a total of eight courses (32 units) from the Bren School of ICS and Claire Trevor School of the Arts (Department of Studio Art); admission criteria and course requirements are described above.

ADMISSIONS

Freshman Applicants:

To ensure admission consideration for the fall quarter, students should be sure to file their application by November 30 of the prior year. The selection criteria include grades, test scores, and other considerations.

Transfer Applicants:

Junior-level applicants with the highest grades overall and who satisfactorily complete course prerequisites will be given preference for admission. Applicants must satisfy the following requirements:

1.   One year of discrete mathematics if available; if not, first-year calculus. (A semester of pre-calculus and a semester of calculus may not be used to fulfill this requirement.)

2.   One year of computer science courses, including a UC-transferable programming course involving concepts such as found in C++, Java*, Eiffel, or another object-oriented high-level language; programming-only courses such as Basic, Fortran, Cobol, Pascal, and C are not acceptable. Students should select UC-transferable courses that do not focus strictly on learning a programming language but instead focus on topics such as object-oriented design, data structures, algorithms, and computer architecture, if such courses are available. *Java is strongly recommended as it is used in most programming-related courses.

The lower-division requirements consist of five quarters of ICS courses and six quarters of math courses which must be taken in a certain order and which are prerequisites for upper-division courses. Students who transfer to UCI in need of completing any part of this sequence may find that it will take longer than two years to complete their degree.

REQUIREMENTS FOR THE BACHELOR'S DEGREE IN INFORMATION AND COMPUTER SCIENCE

University Requirements: See pages 59-64.

Major Requirements

Lower-division (some or all of these are prerequisites for required upper-division ICS courses):

A.   ICS 6A/Mathematics 6A, Mathematics 6B, Mathematics 6C or 3A, Mathematics 2A-B, Statistics 67/Mathematics 67.

B.   ICS 21, 22, 23, 51, 52.

Upper-division:

A.   ICS Core requirements: CSE121/Informatics 111, Informatics 161, CS 141/CSE141/Informatics 101, CS 142A/CSE142, CS 143A/CSE104, CS 151, CS 152, CS 161/CSE161, CS 171.

B.   One intermediate course in each of two areas, selected from Informatics 113; Informatics 115, Informatics 123, Informatics 131; Informatics 162; CS 131, 144; CS 132; Engineering EECS143, EECS151; CS 134, CS 162, CS 163, CS 164; CS 172, CS 173, Engineering EECS136; Engineering EECS104 or CS 112; CS 122A/EECS 116.

C.   Three project courses selected from Informatics 117, Informatics 118A-B, Informatics 119, Informatics 132, Informatics 163, CS 113/Informatics 125, CS 114, CS 122B, CS 133, CS 142B, CS 143B, CS 153, CS 154, CS 165, CS 175, CS 176, Engineering EECS151L. NOTE: Informatics 119 may not be used to satisfy any part of the project course requirement in conjunction with Informatics 118A-B.

D.   Two additional courses chosen from this list that have not been used to satisfy another ICS major requirement: Mathematics 105A-B, 114A-B, 118A-B, 120A-B, 121A-B, 130B-C, 131B-C, 132B-C, 140A-B, 141, 150, 151, 152, 161, 162A-B, 171A-B-C, 173A-B, 180; CS 162, CS 163, CS 177; Philosophy 105A-B-C.

Specializations: Students may elect to complete one or more specializations within the major in Information and Computer Science. Courses taken for a specialization must be taken for a letter grade and may be used to satisfy upper-division requirements for the major. Courses may also be used to satisfy requirements of more than one specialization, subject to the following limitation: separate specializations may share at most one course.

One individual study course (CS H198 or CS 199) in the area of specialization may be substituted for one designated course (indicated by *) in the specialization requirements, upon prior approval of the Bren School Associate Dean for Undergraduate Education.

Artificial Intelligence: four courses* selected from CS 163 or CS 165, CS 172-179.

Computer Systems: four courses selected from Informatics 123, CS 112, CS 131-134, CS 142B, CS 143B, CS 144, CS 153-155.

Implementation and Analysis of Algorithms: two courses selected from CS 163, CS 164, CS 165; two courses* selected from Informatics 117, CS 133, CS 142B, CS 143B, CS 175, CS 176.

Information Systems: three courses selected from Informatics 113, Informatics 117, Informatics 132, Informatics 162, Informatics 163; one course* selected from Informatics 123, Informatics 131, Informatics 153, CS 122A, CS 132, CS 176.

Networks and Distributed Systems: four courses selected from Informatics 123, CS 131, CS 132, CS 133*, CS 134, CS 143B*.

Software Systems: two courses selected from Informatics 113, Informatics 115, Informatics 123, Informatics 131, Informatics 132; two software project courses, either Informatics 117 and Informatics 119* or Informatics 118A-B.

Major and minor restrictions: See above.

Sample Program of Study

Minor in Information and Computer Science

Students outside the School may also pursue a minor in Information and Computer Science. The minor provides a focused study of Information and Computer Science to supplement a student's major program of study and prepares students for a profession, career, or academic pursuit in which computer science is an integral part but is not the primary focus. The ICS minor contributes to students' competence in computing technology and proficiency in programming as well as exposing them to the fundamentals of computer science. The minor allows students sufficient flexibility to pursue courses that complement their major field or address specific interests.

Requirements for the Minor: ICS 21, 22, 23; ICS 6A or Mathematics 6A; ICS 51 or 52; two upper-division courses from CS 111-144, CS 151-177, Informatics 101, Informatics 111-119, Informatics 123, Informatics 125, Informatics 131, Informatics 132, Informatics 141, Informatics 153, and Informatics 161-163. CS 190-199 and Informatics 190-199 may not be applied to the minor.

COURSES IN INFORMATION AND COMPUTER SCIENCE

Breadth Courses for Nonmajors

Nonmajors may also take other Bren School of ICS courses for which they have the prerequisites.

10A Information: Presentation and Representation (4). Kinds of information, including quantitative, probabilistic, textual, graphic, audio. Locating information, evaluating reliability. Representing information on paper, in computer systems, in other media. Organization into hierarchies, networks, tables. Effectiveness and efficiency of alternative representations and organizations. Measuring information; redundancy, compression. Open to nonmajors only. Formerly ICS 10. (V)

10B Computer-Based Information Systems (4). The analysis, design, implementation, quality assurance, deployment, and ongoing management of computer-based information systems, and related software, hardware and networking issues; end-user customization of applications and interfaces, and selection of information, via query macro and scripting languages. Prerequisite: ICS 10A. Open to nonmajors only. Formerly ICS 11. (V)

10C Networked Information Discovery and Retrieval (4). Network-based communication and information resources, including electronic mail, news, and other sources. Technical, personal, and social aspects of their development, access, and use. Extensive use of a wide range of established and developing technologies. Prerequisite: ICS 10B. Open to nonmajors only. Formerly ICS 1C. (V)

LOWER-DIVISION

Courses for Majors and Nonmajors

6A Discrete Mathematics for Computer Science (4). Covers essential tools from discrete mathematics used in computer science with an emphasis on the process of abstracting computational problems and analyzing them mathematically. Topics include: combinatorics, mathematical induction, elementary probability, and asymptotic analysis. Prerequisite: high school mathematics through trigonometry. Same as Mathematics 6A. (V)

21 Introduction to Computer Science I (6). First of a three-quarter introductory course. Introduces fundamental concepts related to computer software design and construction. Develops initial design and programming skills using a high-level programming language (primarily C++/Java). Introduces useful computer-based tools for analysis, expression, discovery. Same as CSE21. Only one course from ICS 21/CSE21 and ICS H21 may be taken for credit. (V)

H21 Honors Introduction to Computer Science (6). First of a three-quarter introductory sequence. Introduces basic concepts, fundamental laws and principles of software and hardware organization, program construction, applications, and policy and social issues. Develops initial programming skills using a high-level programming language (primarily C/C++/Java). Introduces useful computer-based tools for analyses, expression, and discovery. Prerequisite: enrollment open to ICS majors in the Campuswide Honors Program or by consent of the Donald Bren School of Information and Computer Sciences. Only one course from ICS H21 and ICS 21/CSE21 may be taken for credit. (V)

22 Introduction to Computer Science II (6). Second of a three-quarter introductory sequence. Abstract behavior of classic data structures (stacks, queues, priority queues, tables, trees), alternative implementations, analysis of time and space efficiency. Recursion. Object-oriented and functional programming. Models of computation. Prerequisite: ICS 21/CSE21 with a grade of C or better. Same as CSE22. Only one course from ICS 22/CSE22, ICS H22, or Informatics 42 may be taken for credit. (V)

H22 Honors Introduction to Computer Science II (6). Second of a three-quarter introductory sequence. Covers in-depth concepts of programming and mathematical tools for analyzing programs. Topics include: combinatorics, program analysis and correctness, advanced structures, system design techniques, and programming paradigms. Prerequisite: ICS H21 with a grade of B- or better or ICS 21/CSE 21 with a grade of A or better. Only one course from ICS H22 and ICS 22/CSE22 may be taken for credit. (V)

23 Fundamental Data Structures (4). Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques. Prerequisites: ICS 22/ CSE22 with a grade of C or better, or Informatics 42 with a grade of C or better, or Engineering EECS40; Mathematics 6A or ICS 6A. Same as CSE23. Only one course from ICS 23/CSE23 and ICS H23 may be taken for credit. (V)

H23 Introduction to Computer Science III (4). Third of a three-quarter introductory course. Builds on ICS H22 with respect to mathematical tools and analysis. Focuses on fundamental algorithms in computer science, basic data structures for primary and secondary memory, storage allocation and management techniques, data description, and design techniques. Prerequisites: ICS H22 with a grade of B- or better or ICS 22 with a grade of A or better; Mathematics 6A or ICS 6A. Only one course from ICS H23 and ICS 23/CSE23 may be taken for credit. (V)

51 Introductory Computer Organization (6). Multilevel view of system hardware and software. Operation and interconnection of hardware elements. Instruction sets and addressing modes. Virtual memory and operating systems. Laboratory work using low-level programming languages. Prerequisites: ICS 21 with a grade of C or better; Mathematics 6B.

52 Introduction to Software Engineering (6). Introduction to the concepts, methods, and current practice of software engineering. The study of large-scale software production; software life cycle models as an organizing structure; principles and techniques appropriate for each stage of production. Laboratory work involves a project illustrating these elements. Prerequisite: ICS 23 with a grade of C or better. ICS 52 and Informatics 43 may not both be taken for credit.

54 Programming for Multitasking Operating Systems (4). In-depth study of principles and concepts embodied in modern Internet-connected, multiuser, multitasking operating systems, including shells, filters, pipelines, programmability and scripting, extensibility, concurrent processing, and interprocess communication. Several integral tools and utilities are presented. UNIX used to provide concrete examples. Prerequisite: ICS 23 with a grade of C or better.

80 Special Topics in Information and Computer Science (2 to 4). May be repeated for credit if title or topic varies.

92 Introduction to University Success (0). Survey of the attitudes and skills required for academic success. Designed primarily for new freshmen in technical fields who are first-generation college students, low-income students, or students with disabilities. Focus on specific tools and proven methods to improve academic performance. Study planning and independent studies. Students may receive a maximum of four units of workload credit only. Pass/Not Pass only.

93 Strategies for Success in ICS (0). Develops students' study skills for ICS and breadth requirement courses through instruction, small group activities, and application assignments. Topics include goal setting, note taking, text reading, examination preparation, memory and concentration, and problem solving. Pass/Not Pass only. Two units of workload credit only.

UPPER-DIVISION

139 Technical Writing and Communication Skills (4). Study and practice of critical and technical writing as it applies to the field of computer science. Each student writes essays of varying lengths, totaling at least 4,000 words. Prerequisite: satisfactory completion of the lower-division writing requirement; upper-division standing; Bren School of Information and Computer Sciences majors only.

H197 Honors Seminar (2). An overview of computer science and selected recent trends in research. Students attend talks on current faculty research, with opportunities for discussion. Prerequisite: participation in the Bren School of ICS Honors Program or Campuswide Honors Program. Pass/Not Pass only. Formerly ICS 197.


home Table of Contents