DEPARTMENT OF INFORMATICS
5019 Donald Bren
Hall; (949) 824-2901
http://www.informatics.uci.edu/
André
van der Hoek, Department Chair
Faculty / Undergraduate Program / Graduate Program / Courses
Informatics is the interdisciplinary study of the design, application, use, and impact of information technology. It goes beyond technical design, to focus on the relationship between information system design and use in real-world settings. These investigations lead to new forms of system architecture, new approaches to system design and development, new means of information system implementation and deployment, and new models of interaction between technology and social, cultural, and organizational settings.
Undergraduate Major in Informatics
Students in the Informatics major study human-computer interaction, social computing, computer-supported cooperative work, ubiquitous computing, organizational computing, and other topics that address the relationship between information technology design and use in social and organizational settings. The Informatics major addresses the broad set of issues surrounding design, all from a multidisciplinary perspective that includes computer science, information science, organizational science, social science, and cognitive science.
Courses offer extensive treatment of the conceptual underpinnings of the discipline and provide in-depth practical experiences, often performed on real-world examples and involving outside organizations. Students completing the major will be well suited for advanced careers in information technology or for further study at the graduate level. Specific careers include, but are not limited to, system or information analyst; system or information designer; project manager; and user interface and interaction designer. Career settings include corporations, nonprofit organizations, start-ups, and independent consulting.
Informatics majors complete one of two specializations: Human-Computer Interaction (HCI) or Organizations and Information Technology (OIT). More information is available online at http://www.ics.uci.edu/informatics/ugrad.
ADMISSIONS
Freshmen Applicants: See pages 33-37.
Transfer Applicants:
Students transferring into the major must satisfy the following requirements:
1. Completion of one college-level mathematics course; courses equivalent to ICS 6B (Boolean Algebra and Logic), Statistics 7 (Basic Statistics) or Statistics 67 (Introduction to Probability and Statistics for Computer Science) are preferred as these courses facilitate scheduling after transfer to UCI.
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.
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/informatics/ugrad or at the ICS Student Affairs Office; telephone (949) 824-5156; e-mail: ucounsel@uci.edu.
REQUIREMENTS FOR THE B.S. DEGREE IN INFORMATICS
University Requirements: See pages 54-61.
Major Requirements
Lower-division:
A. Informatics 41, 42, and 45; or ICS 31, 32, and 33; or ICS 21, 22, and 23; or ICS 21, 22, and Informatics 45.
B. ICS 90 or Informatics 44.
C. ICS 52 or Informatics 43.
D ICS 45J.
E. ICS 6B and either Statistics 7 or Statistics 67.
Upper-division:
A. Informatics Core Requirements: Informatics 113, 121, 131, 151, 161, 191A-B-C.
B. One of the following specializations:
Human-Computer Interaction: Informatics 132; three courses chosen from Informatics 133, 141, 143, 153, 162, 171; two project courses chosen from Informatics 125, 134, 148, 163; four additional courses chosen from Informatics 100-190 or Public Health 166.
Organizations and Information Technology: (a) Informatics 141, 162, 163, Management 5, Management 102; (b) four additional courses chosen from: Management 107, 159, 162, 170, 173, 175, and 178; Psychology and Social Behavior 9, 104S, 176S, and 180S; Sociology 41, 135, 141, 143, and 145; Informatics 100-199; (c) two additional courses chosen from Informatics 100-199 or Computer Science 100-199.
Major and minor restrictions: Informatics majors pursuing minors outside of the Bren School of ICS may not count more than four courses toward both the major and minor. Also see page 347.
Sample Program of Study - Informatics: Human-Computer Interaction (HCI)
| FALL | WINTER | SPRING |
| Freshman | ||
| ICS 31 | ICS 32 | ICS 33 |
| Stats 7 | ICS 6B | Informatics 43 |
| Writing 39A | Writing 39B | Writing 39C |
| ICS 90 | ||
| Sophomore | ||
| ICS 45J | Informatics Core | Informatics Core |
| Informatics Core | Specialization | Specialization |
| Specialization | GE III | GE III |
| GE II | GE IV | GE IV |
| Junior | ||
| Informatics Core | Informatics Core | Informatics 191A |
| Specialization | Specialization | Specialization |
| GE III | UD Writing | GE VI |
| GE IV | ||
| Senior | ||
| Informatics 191B | Informatics 191C | Elective |
| Specialization | Specialization | GE VIII |
| GE VII | Specialization |
Sample Program of Study -
Informatics:
Organizations and Information Technology (OIT)
| FALL | WINTER | SPRING |
| Freshman | ||
| ICS 31 | ICS 32 | ICS 33 |
| Stats 7 | ICS 6B | Informatics 43 |
| Writing 39A | Writing 39B | Writing 39C |
| ICS 90 | ||
| Sophomore | ||
| ICS 45J | Informatics Core | Informatics Core |
| Informatics Core | Specialization | Specialization |
| Specialization | GE III | GE III |
| GE II | GE IV | GE IV |
| Junior | ||
| Informatics Core | Informatics Core | Informatics 191A |
| Specialization | Specialization | Specialization |
| GE III | UD Writing | GE VI |
| GE IV | ||
| Senior | ||
| Informatics 191B | Informatics 191C | Specialization |
| Specialization | Specialization | GE VIII |
| GE VII | Specialization |
Minor in Digital Information Systems
Students outside the Bren School of ICS may pursue a minor in Digital Information Systems (DIS). The minor is designed for students who want to learn about information systems, computation, and digital communication without preparing to be computer programmers. Students completing the DIS minor will be able to understand the role of digital information systems in society, and will learn about the technological underpinnings of these systems and constraints on their design and use.
Requirements for the minor: Two of ICS 3, ICS 4, ICS 5, ICS 7, ICS 8, ICS 11, ICS 22/CSE22, ICS H22, Informatics 42 or ICS 32; one of ICS 10, ICS 21/CSE21, ICS H21, Informatics 41 or ICS 31; four of ICS 105, Informatics 131, Informatics 143, Informatics 161, Informatics 162, Informatics 171.
NOTE: Bren School of ICS majors may not minor in Digital Information Systems. Courses used to complete the minor in Digital Information Systems may not also count toward the requirements for the Information and Computer Science minor or the Informatics minor.
Minor in Health Informatics
The minor in Health Informatics prepares students to understand the expanding role of information technology (IT) in health care and to participate in creating IT solutions to health care issues. It includes course work and fieldwork addressing a variety of health care IT settings. Students completing this minor will gain practical experience applying IT to serve the health care needs of communities and individuals.
Requirements for the minor: Both Informatics 171 and Informatics 172; two from the following list (those marked with an asterisk may only be counted by majors outside of the Bren School of ICS): ICS 4*, ICS 7*, ICS 10*, ICS 31*, ICS 32*, Informatics 121, Informatics 123, Informatics 131, Informatics 133, Informatics 141/CS 121, Informatics 143, CS 111, CS 122A, CS 131, CS 134, CS 145A/CSE145A, CS 171, CS 178; two from the following: Nursing Science 110, Public Health 101, Public Health 104, Public Health 122, Public Health 124; one from the following: Informatics 151, Informatics 161, Informatics 162, Statistics 7, Statistics 8, or Statistics 67.
NOTE: No more than one of these courses may be used to satisfy both the requirements of this minor and the requirements of the student's major. A student must earn a grade of C or better in all courses used to satisfy the requirements of this minor.
Minor in Informatics
The minor provides a focused study of Informatics to supplement a student's major program of study and prepares students for a profession, career, or academic pursuit in which information and software design is an integral part but is not the primary focus. The minor allows students sufficient flexibility to pursue courses that complement their major field or address specific interests. The minor particularly centers on understanding the relationships among computers and people, and how these relationships must be addressed in information and software design.
Requirements for the minor: Either Informatics 41, 42, 45 or ICS 31/CSE41, ICS 32/CSE42, ICS 33/CSE43; ICS 90 or Informatics 44; ICS 52 or Informatics 43; Informatics 131 and 161; and at least two additional upper-division courses in Informatics.
Before enrolling in any course for the Informatics minor, students should ensure that they meet its prerequisites. See the course prerequisites listed in the Catalogue or on the Informatics Web site at http://www.ics.uci.edu/informatics/ugrad.
NOTE: A maximum of two courses can be taken Pass/Not Pass to satisfy the minor in Informatics. Students majoring in Information and Computer Science, Computer Science, or Computer Science and Engineering cannot minor in Informatics. Students who are considering a major in Informatics must complete the Informatics courses with a letter grade.
Graduate Program in Software Engineering
The field of Software Engineering is concerned with the creation and analysis of the complex software systems that underlie modern society. Research in Software Engineering targets software artifacts and the people who create them. The field is large, and it encompasses engineering design research, i.e., the creation of new software artifacts with some desirable properties, as well as empirical research, i.e., the study of the effects that software development tools and methods have in the context of software development teams. Topics include software architectures, testing and debugging, software development tools, formal languages, requirements engineering, mining of large software-related data sources, reverse engineering, and development processes.
The Ph.D. degree in Software Engineering (SE) offers students opportunities for graduate study in the spectrum of intellectual activity in SE. The M.S. degree in SE complements undergraduate knowledge in related fields with a solid framework for understanding the development of complex software systems.
Undergraduate Preparation for Admission. Typically, incoming students will have an undergraduate degree in computer science, though students may have an undergraduate degree in any field. Additionally they must have significant experience in software development. The ideal applicant is one who shows a considerable analytical depth in the practice of software development, typically gained from first-hand experience with large projects. Students admitted without a major in computer science, informatics, or equivalent will be expected to take undergraduate courses to fill any gaps.
Incoming students who already have a M.S. in Computer Science or closely related field may be exempted from (part of) the pre-candidacy course requirements by petition to the Graduate Dean, as filed by the student's faculty advisor.
PROGRAM OF STUDY FOR THE PH.D. DEGREE
Pre-Candidacy Course Requirements
Students must complete the two introductory research courses (Informatics 200A and 200B), four software engineering courses, four elective courses, and two quarters of seminars, literature survey, and individual study courses.
1. Research Overview: Informatics 200A-B (Informatics Graduate Core).
2. Software Engineering Core Courses: Informatics 211 (Software Engineering), Informatics 212 (Analysis of Programming Languages), Informatics 215 (Software Analysis and Testing), Informatics 221 (Software Architecture).
3. Software Engineering Electives: Four elective courses chosen from the following courses offered by the School of ICS (all four units). The set of elective courses chosen by the student must be approved by the student's research advisor. With the advisor's permission, the student may substitute other non-seminar courses, as long as they are related to the student's research interests.
Informatics 213 (Formal Specification and Modeling), Informatics 217 (Software Processes), Informatics 219 (Software Environments), Informatics 223 (Applied Software Design), Informatics 231 (Human-Computer Interaction), Informatics 233 (Knowledge-Based User Interfaces), Informatics 235 (Advanced User Interface Architecture), Informatics 241 (Introduction to Ubiquitous Computing), Informatics 242 (Ubiquitous Computing and Interaction), Informatics 251 (Computer-Supported Cooperative Work), Informatics 261 (Social Analysis of Computing), Informatics 269 (Computer Law), CS 203 (Network and Distributed Systems Security), CS 221 (Information Retrieval, Filtering, and Classification), CS 222 (Principles of Data Management), CS 225 (Next Generation Search Systems), CS 230 (Distributed Computer Systems), CS 232 (Internet), CS 235 (Internet Technology), CS 237 (Middleware for Networked and Distributed Systems), CS 241 (Advanced Compiler Construction), CS 273A (Machine Learning), CS 277 (Data Mining).
4. Seminars and Individual Study: Informatics 209S (Seminar in Informatics; two quarters; four units each), Informatics 291S (Literature Survey; two quarters; two units each), Informatics 299 (Individual Study; two quarters, four units each).
Qualifying Examinations
Written Comprehensive Examination
Students must pass a written examination testing their knowledge of the relevant topics and literature in Software Engineering and their ability to formulate clear arguments in writing and under time constraints. This examination is based on a predetermined reading list maintained by the program faculty. Preparation for this exam is done during two quarters of Informatics 291S. This exam is administered at most twice a year.
The exam is graded a Ph.D. PASS, M.S. PASS or FAIL. In case of M.S. PASS or FAIL, it may be re-taken once more, within 12 months, in an attempt to qualify for a Ph.D. PASS. A second M.S. PASS or FAIL results in disqualification of the student from the doctoral program (with or without a terminal M.S. degree).
Research Assessment
Students must find a faculty advisor and successfully complete a research project with that faculty member. The research project should be done over at least two quarters of independent study with that faculty member. The goal of this research assessment is to introduce the student to the practice of scientific publication.
Based on the project, the student must produce a research paper of publishable quality. This research paper must be reviewed by three faculty members in a peer-review process, revised by the student, and approved by the three faculty members.
The research assessment is graded PASS or FAIL. In case of FAIL, the student can re-submit the paper at most one more time within the maximum period of six months. A second FAIL results in disqualification from the program.
Advancement to Candidacy Examination
Each Ph.D. student must pass the oral advancement to candidacy exam, which assesses the student's ability to conduct, present, and orally defend research work at the doctoral level. The research project and paper are the basis for the student's oral advancement to candidacy exam. The oral candidacy exam consists of the research presentation by the student, followed by questions from the candidacy committee.
The student must complete the course requirements, and pass the two qualifying examinations prior to advancing to candidacy. The candidacy committee will consist of five faculty members, the majority of whom must be members of the student's program, and is conducted in accordance with UCI Senate regulations.
Dissertation Topic Defense
The student must present a carefully articulated document representing the student's dissertation plan. This document must include the proposed dissertation abstract, a discussion of the approach, a comprehensive survey of related work, and a plan for completing the work. The dissertation plan is presented by the student to the dissertation committee, who must unanimously approve the student's proposal. The dissertation defense committee is formed in accordance to UCI Senate regulations.
Doctoral Dissertation and Final Examination
Students are required to complete a doctoral dissertation in accordance with Academic Senate regulations. In addition, they must pass an oral thesis defense which consists of a public presentation of the student's research followed by an oral examination by the student's doctoral committee. The committee must approve the thesis unanimously.
The normative time for advancement to candidacy is three years. The normative time for completion of the Ph.D. is six years, and the maximum time permitted is seven years.
PROGRAM OF STUDY FOR THE M.S. DEGREE
Course Requirements
M.S. students must complete the two introductory research courses (Informatics 200A and 200B), four software engineering courses, four elective courses, and two quarters of seminars (Informatics 290S). Students doing Capstone Plan I (Thesis) must complete two quarters, four units each, of Thesis Supervision (Informatics 298); students doing Capstone Plan II (Comprehensive Examination) must complete two quarters of literature survey courses.
The course requirements are identical to the Ph.D. degree, diverging only in making the Literature Survey and the Individual Study courses mutually exclusive, depending on the students' Capstone option.
Capstone Requirement
Plan I: Thesis Option. Students must take and pass the Research Assessment examination. Additionally, students are required to defend their thesis in a public exam according to UCI Senate Policy. This requirement must be completed by the end of the second year.
Plan II: Comprehensive Examination Option. Students must take the written comprehensive examination, and obtain an M.S. PASS or higher. This requirement must be completed by the end of the second year. In case of FAIL, the exam may be re-taken once more. A second FAIL results in disqualification of the student from the master's program.
Restriction
The M.S. degree will not be awarded to students who currently hold a M.S. degree in software engineering or a related field from the same or another university.
Requirements Beyond Graduate Division Minimum Requirements
All master's and Ph.D. students are expected to maintain a minimum GPA of 3.5 throughout the program. Failure to maintain this minimum will result in a recommendation that the student be disqualified. In addition, no grade lower than B is counted toward satisfying any course requirements.
Graduate Concentrations
For graduate concentrations in Informatics, see page 352.
(Schedule of Classes designation: In4matx)
Non-majors may also take lower-division Informatics courses to fulfill General Education requirements if they have met the prerequisites.
LOWER-DIVISION
41 Informatics Core Course I (6). Fundamental concepts of computer software design and construction. Data, algorithms, functions, and abstractions. Overview of computer systems: data representation, architectural components, operating systems, networks. Introduction to information systems: parties involved, architectural alternatives, usability, organizational and social concerns. May not be taken for credit after ICS 22/CSE22. (II, Vb)
42 Informatics Core Course II (6). Alternative data structure implementations; analysis of time and space efficiency. Object-oriented programming concepts and techniques: classes, objects, inheritance, interfaces. Formal languages and automata. Problem modeling and design tradeoffs. Prerequisite: Informatics 41 with a grade of C or better. Only one course from Informatics 42, ICS 22/CSE22, ICS H22, ICS 32/CSE42, or ICS 33/CSE43 may be taken for credit. (II, Vb)
43 Introduction to Software Engineering (4). Concepts, methods, and current practice of software engineering. Large-scale software production, software life cycle models, principles and techniques for each stage of development. Laboratory project applying these concepts. Only one course from Informatics 43, ICS 52, and ICS 105 may be taken for credit.
44 Seminar in Informatics Research Topics (2). Introduction to current research topics in Informatics. Various faculty members present current research and relate it to the course content of the Informatics degree program. Pass/Not Pass only.
45 Patterns of Software Construction (4). Building software applications; reusing and integrating components; designing for reuse. Effective use of libraries and APIs, file and network I/O, creation of user interfaces. Prerequisite: Informatics 42 or ICS 22/CSE22 or ICS H22 with a grade of C or better. (Vb)
UPPER-DIVISION
101 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 CS 141/CSE141.
102 Concepts of Programming Languages II (4). In-depth study of major programming paradigms: imperative, functional, declarative, object-oriented, and aspect-oriented. Understanding the role of programming languages in software development and the suitability of languages in context. Domain-specific languages. Designing new languages for better software development support. Prerequisite: Informatics 101/CS 141/CSE141 with a grade of C or better.
113 Requirements Analysis and Engineering (4). Aims to equip students to develop techniques of software-intensive systems through successful requirements analysis techniques and requirements engineering. Students learn systematic process of developing requirements through cooperative problem analysis, representation, and validation. Prerequisites: Informatics 42, ICS 22/CSE22 or ICS 33/CSE43, and either Informatics 43 or ICS 52, all with a grade of C or better.
115 Software Testing, Analysis, and Quality Assurance (4). Aims to prepare students to develop high-quality software through successful verification and validation techniques. Fundamental principles of software testing, how to test software, and how to ensure the thoroughness of testing to gain confidence in the correctness of the software. Prerequisites: ICS 6B; Informatics 42 or ICS 22/CSE22 or ICS 33/CSE 43, with a grade of C or better, and either Informatics 43 or ICS 52 with a grade of C or better.
117 Project in Software System Design (4). Specification, design, construction, testing, and documentation of a complete software system. Special emphasis on the need for and use of teamwork, careful planning, and other techniques for working with large systems. Prerequisites: Informatics 43 or ICS 52 with a grade of a C or better; ICS 33/CSE43 or ICS 22/CSE22 or Informatics 42 with a grade of C or better, and upper-division standing.
121 Software Design I (4). Introduction to application design: designing the overall functionality of a software application. Topics include general design theory, software design theory, and software architecture. Includes practice in designing and case studies of existing designs. Prerequisites: Informatics 45 or ICS 23/CSE23 or ICS 33/CSE43, with a grade of C or better and upper-division standing.
122 Software Design II (4). Introduction to implementation design: designing the internals of a software application. Topics include design aesthetics, design implementation, design recovery, design patterns, and component reuse. Includes practice in designing and case studies of existing designs. Prerequisites: Informatics 121 or Informatics 101/CS 141/CSE141.
123 Software Architectures (4). Prepares students to engineer well-structured software systems. Students learn a wide range of software architectural styles, architectural platforms that provide standard services to applications, and formal architecture description languages. Prerequisites: Informatics 122 or the following: Informatics 101/CS 141/CSE141 and Informatics 113.
124 Internet Applications Engineering (4). Concepts in Internet applications engineering with emphasis on the Web. Peer-to-Peer and Interoperability. Topics include HTTP and REST, Remote Procedure/Method Calls, Web Services, data representations, content distribution networks, identity management, relevant W3C/IETF standards, and relevant new large-scale computing styles. Prerequisites: CS 132 or consent of instructor, and upper-division standing. Same as CS 137.
125 Computer Game Development (4). Introduction to the principles of interactive two- and three-dimensional computer game development. Concepts in computer graphics, algorithms, software engineering, art and graphics, music and sound, story analysis, and artificial intelligence are presented and are the basis for student work. Prerequisite: either CS 112, CS 171, Informatics 121, Studio Art 135, or consent of instructor. Same as CS 113.
131 Human Computer Interaction (4). Presents basic principles of human-computer interaction (HCI). Introduces students to user interface design techniques, design guidelines, and usability testing. Students gain the ability to design and evaluate user interfaces and become familiar with some of the outstanding research problems in HCI. Prerequisite: one course (with a grade of C or better) selected from Informatics 41, ICS 10, ICS 21/CSE21, ICS H21, ICS 31/CSE41, ENGR10, EECS10, MAE10, or equivalent.
132 Project in Human-Computer Interaction Requirements and Evaluation (4). Students undertake significant projects in the elicitation and specification of HCI requirements and the thorough evaluation of user interfaces. Prerequisite: Informatics 131.
133 User Interaction Software (4). Introduction to human-computer interaction programming. Emphasis on current tools, standards, methodologies for implementing effective interaction designs. Widget toolkits, Web interface programming, geo-spatial and map interfaces, mobile phone interfaces. Strategies for evaluation of user interfaces. Prerequisite: Informatics 45 or ICS 23/CSE23 or both ICS 33/CSE43 and ICS 45J, all with a grade of C or better.
134 Project in User Interaction Software (4). Students complete an end-to-end user interface programming project based on an iterative design paradigm. Topics may include requirements brainstorming, paper prototyping, iterative development, cognitive walk-through, quantitative evaluation, and acceptance testing. Prerequisites: Informatics 131 and 133.
141 Information Retrieval (4). An introduction to information retrieval including indexing, retrieval, classifying, and clustering text and multimedia documents. Prerequisites: one from Informatics 45 or ICS 46/CSE46, or both ICS 33/CSE43 and ICS 45J, all with a grade of C or better; Statistics 7 or 67. Same as CS 121.
143 Information Visualization (4). Introduction to interactive visual interfaces for large datasets, and to principles of human visual perception and human computer interaction that inform their design. Various applications for data analysis and monitoring are discussed. Prerequisites: Informatics 131 or ICS 52, or both Informatics 43 and one course chosen from ICS 31/CSE41, ICS 21/CSE21, or Informatics 41, all with a grade of C or better.
148 Project in Ubiquitous Computing (4). Introduction to ubiquitous computing research methods, tools, and techniques. Prototyping, design, and evaluation of physical computing applications, smart environments, embedded systems, and future computing scenarios. Includes hands-on in-class laboratory exercises. Prerequisite: Informatics 45 or ICS 23/CSE23.
151 Project Management (4). Introduces theoretical and practical aspects of project management. Topics include organizational theory, group behavior, project management skills, case studies, personal and group productivity tools, management of distributed work, stakeholders, consultants, and knowledge management. Students do a project exercise. Prerequisites: Informatics 43 or ICS 52 with a grade of C or better and upper-division standing.
153 Computer-Supported Cooperative Work (4). Introduces concepts and principles of collaborative systems. Topics may include shared workspaces, group interaction, workflow, architectures, interaction between social and technical features of group work, and examples of collaborative systems used in real-world settings. Students develop a simple collaborative application. Prerequisites: Informatics 161 or ICS 52 with a grade of C or better, or Informatics 43 and one course chosen from ICS 31/CSE41, ICS 21/CSE21, or Informatics 41, all with a grade of C or better.
161 Social Analysis of Computerization (4). Introduction of computerization as a social process. Examines the social opportunities and problems raised by new information technologies, and the consequences of different ways of organizing. Topics include computerization and work life, privacy, virtual communities, productivity paradox, systems risks. Prerequisite: one course (with a grade of C or better) selected from Informatics 41, ICS 10, ICS 21/CSE21, ICS 31/CSE41, ENGR10, EECS10, MAE10 or equivalent; satisfactory completion of the lower-division writing requirement.
162 Organizational Information Systems (4). Introduction to role of information systems in organizations, components and structure of organizational information systems, and techniques used in information systems analysis, design, and implementation. Prerequisites: Informatics 161 and satisfactory completion of the lower-division writing requirement.
163 Project in the Social and Organizational Impacts of Computing (4). Students undertake projects intended to gather and analyze data from situations in which computers are used, organize and conduct experiments intended to test hypotheses about impacts, and explore the application of concepts learned in previous courses. Prerequisite: Informatics 162 .
171 Introduction to Medical Informatics (4). Broad overview of medical informatics for students with varied backgrounds. Electronic medical records, online resources, mobile technologies, patient safety and computational design. Legal, ethical, and public policy issues. Health systems management. Evaluation and fieldwork for health systems. Prerequisite: one course (with a grade of C or better) selected from Informatics 41, ICS 10, ICS 21/CSE21, ICS 31/CSE41, ENGR10, EECS10, MAE10, or equivalent.
172 Project in Health Informatics (4). Students undertake significant quarter-long projects related to health informatics. Topics may include field evaluations of health care technologies, prototypes, iterative design, and system implementations. Prerequisite: Informatics 171.
190 Special Topics in Informatics (4). May be repeated for credit if title or topic varies. Prerequisites vary.
191A-B-C Senior Design Project (4-4-4). Group supervised project in which students analyze, specify, design, construct, evaluate, and adapt a significant information processing system. Topics include team management, professional ethics, and systems analysis. Prerequisites for 191A: Informatics 121, 131, 151; either Informatics 161 as a prerequisite or Informatics 123 as a corequisite; and upper-division standing; for 191B: Informatics 191A; for 191C: Informatics 191B. In-progress grading for 191B only.
H198 Honors Research (4). Directed independent research in Informatics for honors students. Prerequisites: satisfactory completion of the lower-division writing requirement; participation in the Bren School of ICS Honors Program or the Campuswide Honors Program.
199 Individual Study (2 to 5)
GRADUATE
200A-B Informatics Graduate Core (4-4). Integrated survey of core topics and techniques in Informatics and exemplary applications thereof. Primary focus on human-computer interaction, software engineering, and research methods for Informatics. Lecture and readings in classical and contemporary research. Prerequisite: graduate standing in the School of ICS.
201 Research Methodology for Informatics (4). Introduction to strategies and idioms of research in Informatics. Includes examination of issues in scientific inquiry, qualitative and quantitative methods, and research design. Both classic texts and contemporary research literature are read and analyzed.
203 Qualitative Research Methods in Information Systems (4). Introduction to qualitative research methods used to study computerization and information systems, such as open-ended interviewing, participant observation, and ethnography. Studies of the methods in practice through examination of research literature. Prerequisite: Informatics 251 or 261.
205 Quantitative Research Methods in Information Systems (4). Quantitative research methods used to study computerization and information systems. Design of instruments, sampling, sample sizes, and data analysis. Validity and reliability. Longitudinal versus cross-sectional designs. Analysis of secondary data. Studies of the methods through examination of research literature. Prerequisites: basic knowledge of elementary statistics; Informatics 251 or 261.
207S Doctoral Seminar on Research and Writing (2). Doctoral seminar centered on original research and writing. Provides a chance for doctoral students at all levels to present original work, brainstorm ongoing issues, and learn to provide and receive critical feedback from peers. Prerequisite: consent of instructor. Satisfactory/Unsatisfactory only. May be repeated for credit as topics vary.
209S Seminar in Informatics (3). Current research and research trends in Informatics. Forum for presentation and criticism by students of research work in progress. May be repeated for credit as topics vary.
211 Software Engineering (4). Study of the concepts, methods, and tools for the analysis, design, construction, and measurement of complex software-intensive systems. Underlying principles emphasized. State-of-the-art software engineering and promising research areas covered, including project management.
212 Analysis of Programming Languages (4). Concepts in modern programming languages, their interaction, and the relationship between programming languages and methods for large-scale, extensible software development. Empirical analysis of programming language usage.
215 Software Analysis and Testing (4). Studies techniques for developing confidence in software from traditional testing schemes to integrated, multitechnique analytic approaches. Considers strengths and weaknesses and explores opportunities for synergistic technique application. Emphasis is on approaches integrated into the software process.
217 Software Processes (4). Explores vehicles for modeling, coding, and analyzing software processes. Considers integration of software process programming approaches with traditional management issues. Explores the use of software process execution as a vehicle for effective integration of tools into environments.
219 Software Environments (4). Study of the requirements, concepts, and architectures of comprehensive, integrated, software development and maintenance environments. Major topics include process support, object management, communication, interoperability, measurement, analysis, and user interfaces in the environment context.
221 Software Architecture (4). Study of the concepts, representation techniques, development methods, and tools for architecture-centric software engineering. Topics include domain-specific software architectures, architectural styles, architecture description languages, software connectors, and dynamism in architectures.
223 Applied Software Design Techniques (4). Study of concepts, representations, techniques, and case studies in structuring software systems, with an emphasis on design considerations. Topics include static and dynamic system structure, data models, abstractions, naming, protocols and application programmer interfaces.
231 User Interface Design and Evaluation (4). Introduction to the design and evaluation of user interfaces, with an emphasis on methodology. Cognitive principles, design life cycle, on-line and off-line prototyping techniques. Toolkits and architectures for interactive systems. Evaluation techniques, including heuristic and laboratory methods.
232 Research in Human-Computer Interaction (4). Introduction to contemporary topics in human-computer interaction, including methods, technologies, design, and evaluation. Emerging application domains and their challenges to traditional research methods. Advanced architectures and technologies. Critical issues. Some familiarity with HCI principles expected.
233 Knowledge-Based User Interfaces (4). Concepts related to the development of interactive software systems with a focus on knowledge-based tools and human-centered design. Topics span the fields of human-computer interaction, software engineering, and knowledge representation. Prerequisite: CS 171 or equivalent.
235 Advanced User Interface Architecture (4). Architectural concerns in advanced interactive systems. The design of current and emerging platforms for novel interactive systems. Paradigms such as constraint-based programming, multimodal interaction, and perceptual user interfaces for individual, distributed, and ubiquitous applications.
241 Introduction to Ubiquitous Computing (4). The "disappearing computer" paradigm. Differences to the desktop computing model: applications, interaction in augmented environments, security, alternate media, small operating systems, sensors, and embedded systems design. Evaluation by project work and class participation. Same as CS 248A.
242 Ubiquitous Computing and Interaction (4). Principles and design techniques for ubiquitous computing applications. Conceptual basis for tangible and embodied interaction. Interaction in virtual and augmented environments. Design methods and techniques. Design case studies. Examination by project work. Prerequisites: Informatics 231 and 241. Same as CS 248B.
244 Introduction to Embedded and Ubiquitous Systems (4). Embedded and ubiquitous system technologies including processors, DSP, memory, and software. System interfacing basics; communication strategies; sensors and actuators, mobile and wireless technology. Using pre-designed hardware and software components. Design case studies in wireless, multimedia, and/or networking domains. Prerequisites: B.S. degree in computer science; or ICS 51, CS 152; Mathematics 3A or 6G or ICS 6D; CS 161. Same as CS 244.
251 Computer-Supported Cooperative Work (4). The role of information systems in supporting work in groups and organizations. Examines various technologies designed to support communication, information sharing, and coordination. Focuses on behavioral and social aspects of designing and using group support technologies.
261 Social Analysis of Computing (4). The social and economic impacts of computing and information technologies on groups, organizations, and society. Topics include computerization and changes in the character of work, social control and privacy, electronic communities, and risks of safety-critical systems to people.
263 Computerization, Work, and Organizations (4). Selected topics in the influence of computerization and information systems in transforming work and organizations. Theories of organization and organizational change. Processes by which diverse information technologies influence changes in work and organizations over short and long time periods. Prerequisite: Informatics 251 or 261.
265 Theories of Computerization and Information Systems (4). Social and economic conceptions of information technology. Macrosocial and economic conditions that foster changes in information technologies. Social construction of information and computer technology in professional worlds. Theories of information technology and large-scale social change. Prerequisite: Informatics 251 or 261.
269 Computer Law (4). The American legal system and its provisions affecting computer systems, computer networks, and information processing. Intellectual property, contracts, privacy, liability for malfunction, computer crime, constitutional issues, transborder data flow, computer-based evidence, and litigation. Prerequisite: graduate standing or consent of instructor.
290 Research Seminar (2). Forum for presentation and criticism by students of research work in progress. Presentation of problem areas and related work. Specific goals and progress of research. Satisfactory/Unsatisfactory only. May be repeated for credit as topics vary.
291S Literature Survey in Software Engineering (2). Reading and analysis of relevant literature in Software Engineering under the direction of a faculty member. May be repeated for credit as topics vary.
295 Special Topics in Informatics (4). May be repeated for credit as topics vary.
298 Thesis Supervision (2 to 12). Individual research or investigation conducted in preparation for the M.S. thesis option or the dissertation requirements for the Ph.D. program.
299 Individual Study (2 to 12). Individual research or investigation under the direction of an individual faculty member.