DEPARTMENT OF INFORMATICS

221 Computer Science II Building; (949) 824-2901
Richard Taylor, Department Chair

Undergraduate Program

Undergraduate Courses in Informatics

Graduate Program and Courses

Faculty

Thomas Alspaugh: Software development, requirements engineering

Christopher Dobrian: Electronic music, composition

Paul Dourish: Human-computer interaction, computer-supported cooperative work

Vijay Gurbaxani: Economics of information systems management, impact of information technology on organization and market structure

K. H. (Kane) Kim: Distributed real-time computer systems, fault-tolerant computer systems, real-time learning systems

Alfred Kobsa: User modeling, human-computer interaction, artificial intelligence, cognitive science, interdisciplinary computer science

Kenneth L. Kraemer: Economics and management of computing; organizational and social impacts of computing; information technology and public policy; management information systems/decision support systems

Cristina Videira Lopes: Programming languages, acoustic communications, operating systems, software engineering

Gloria Mark: Computer-supported cooperative work, human-computer interaction

Bonnie Nardi: Computer-supported collaborative work, human-computer interaction, computer-mediated communication, user studies methods, activity theory, cultural responses to technology development

Robert Nideffer: Electronic intermedia, interface theory and design, technology and culture, contemporary social theory

Michael Pazzani: Human and machine learning, natural language understanding, cognitive science

Simon Penny: Robotic sculpture, interactive environments, electronic media, art practice history, and critical theory

David Redmiles: Design environments, human-computer interaction, usability engineering, knowledge-based support

Debra J. Richardson: Software engineering; program testing; life-cycle validation; software environments

Susan E. Sim: Software engineering, research methodology, program comprehension

Richard Taylor: Software engineering, user interfaces, environments, team support

Bill Tomlinson: Autonomous characters, computational social behavior, interactive media, real-time animation

Andre van der Hoek: Software engineering

Alladi Venkatesh: Social impacts of information technology, Internet and the New Economy, Smart Home technologies, children and multimedia

Mark Warschauer: Language, literacy, technology

The faculty in the Department of Informatics also contribute to the following concentrations in the ICS graduate program: Software track, Interactive and Collaborative Technology track, and Informatics in Biology and Medicine.

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

Within the overall discipline of information and computer science, the Informatics major fits into the "upper layers." Whereas traditional computer science concerns itself primarily with the internal features, structure, and behavior of computer systems, the Informatics major is concerned with the relationship between what is inside the computer and what is outside. So, courses in the Informatics major study software architecture, software development, design and analysis, programming languages, ubiquitous computing, information retrieval and management, human-computer interaction, computer-supported cooperative work, and other topics that lie at the relationship between information technology design and use in social and organizational settings. As such, 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.

Courses in the degree program are carefully designed to 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 sponsoring the project. Students completing the major will be exceptionally suited for advanced careers in information technology or for further study at the graduate level. Specific careers include, but certainly are not limited to: software engineer; software architect; system, software, and information analyst; system, software, and information designer; project manager; and interface and interaction designer. Career choices include new start-ups, multinational corporations, small software houses, consultancy, and game companies.

Admissions. For freshmen applicants, see page 307. For transfer students, admission to the major will be available fall 2006.

REQUIREMENTS FOR THE BACHELOR'S DEGREE IN INFORMATICS

University Requirements: See pages 56-61.

Major Requirements

Lower-division:

A. Introductory courses: Informatics 41, 42, 43, 44.

B. ICS 23.

C. ICS 6A or Mathematics 6A, Mathematics 7 or 67, Philosophy 29 or 30 or Mathematics 13.

Upper-division:

A. Intermediate Informatics courses: Informatics 102, 111, 113, 115, 121, 131, 132.

B. ICS 141, 177, 184, 185.

C. Advanced Informatics courses: Informatics 122, 123, 143, 151, 153, 161, 162, 163, 191A, 191B, 191C.


Sample Program of Study -- Informatics


FALLWINTERSPRING
Freshman
Informatics 41 Informatics 42 Informatics 43
Writing 39A Breadth Breadth
Philosophy 29 or 30, Math. 6AICS 23
or Math. 13 Informatics 44
Sophomore
Math. 7 or 67Informatics 131Informatics 132
ICS 141Informatics 102Informatics 121
BreadthBreadthBreadth
Informatics 111Informatics 113Informatics 115
Junior
Informatics 161Informatics 162Informatics 163
Informatics 122Informatics 123ICS 184
BreadthBreadthBreadth
Breadth/ElectiveBreadth/ElectiveBreadth/Elective
Senior
Informatics 191AInformatics 191B Informatics 191C
Informatics 151Informatics 153Breadth
ICS 185ICS 177Informatics 143
Breadth/ElectiveBreadth/ElectiveBreadth/Elective

Courses in Informatics

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. (V)

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. Informatics 42 and ICS 22 may not both be taken for credit. May not be taken for credit after ICS 21. (V)

43 Informatics Core Course III (6). 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. Prerequisite: Informatics 42 with a grade of C or better. Informatics 43 and ICS 52 may not both 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.

UPPER-DIVISION

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: ICS 141 with a grade of C or better.

111 Software Tools and Methods (4). Concepts and techniques of constructing software in a systematic fashion, including detailed design techniques, specifications, programming methods, quality-inducing procedures, development tools, team techniques, testing, estimation, and performance improvement. Laboratory work involves exercises to illustrate important concepts, methods, and tools. Prerequisite: Informatics 43 with a grade of C or better or the following: ICS 52 or CSE90 with a grade of C or better; Mathematics 6A or ICS 6A; Mathematics 6B; Mathematics 6C or 3A; and satisfactory completion of the lower-division writing requirement. Same as CSE121 and ICS 121.

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 co-operative problem analysis, representation, and validation. Prerequisites: Informatics 111 or ICS 121; ICS 6A or Mathematics 6A; Mathematics 7 or 67. Same as ICS 102.

115 Software Specification and Quality Engineering (4). Aims to prepare students to develop high-quality software through successful specification and quality engineering techniques. Students learn what high-quality means, how to plan for and achieve it, and how to measure it. Prerequisites: ICS 6A or Mathematics 6A; Mathematics 7 or 67; either Mathematics 6B or 13 or Philosophy 29 or 30; Informatics 111 or ICS 121. Same as ICS 122.

121 Software Design I (4). Introduction to software design principles, paradigms, tools, and techniques. Topics include alternative architectural styles, iterative refinement, design patterns, mapping design onto code, design tools, and design notations. Includes extensive practice in creating designs and study of existing designs. Prerequisite: Informatics 102 with a grade of C or better.

122 Software Design II (4). Introduction to advanced software design principles, paradigms, and techniques. Topics include large-scale design, software reuse, product-line architectures, design recovery, refactoring, application frameworks, real-time systems, design-for-context. Case studies of existing designs and extensive practice with real-world designs. Prerequisite: Informatics 121.

123 Software Architectures, Distributed Systems, and Interoperability (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: ICS 51 with a grade of C or better; ICS 121 and 141; Mathematics 2A-B and 67. Same as ICS 123.

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. Prerequisites: one course (with a grade of C or better) selected from Informatics 42, ICS 10A, ICS 21, Engineering ENGR10, CEE10, EECS10, MAE10, or equivalent. Same as ICS 104.

132 Project in Human-Computer Interaction and User Interfaces (4). The goal of this project course is to prepare students to develop and evaluate user interfaces to software systems through a one-quarter project. Prerequisites: Informatics 131 or the following: ICS 104, 121, 131, and 141. Same as ICS 105.

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. Corequisite or prerequisite: Informatics 131.

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 131 and 161.

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 43 or ICS 23 with a grade of C or better; Informatics 161 or ICS 131. Same as ICS 134.

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. Prerequisites: one course (with a grade of C or better) selected from Informatics 43, ICS 10A, ICS 21, Engineering ENGR10, or equivalent; satisfactory completion of the lower-division writing requirement. Same as ICS 131.

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. Prerequisite: Informatics 161 or ICS 131. Same as ICS 132.

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 or ICS 132. Same as ICS 135.

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. In-progress grading. Informatics 191A-B-C must be taken in the same academic year. Corequisite: Informatics 151. Prerequisites: Informatics 123, 132, 163; ICS 184; senior standing.


home Table of Contents