Courses in Information and Computer Science
(Schedule of Classes designation: I&C Sci)
COURSES FOR NONMAJORS
3 Internet Technologies and their Social Impact (4). Examines current Internet technologies and social implications at the individual, group, and societal level. Blogs, wikis, sharing of video, photos, and music, e-commerce, social networking, gaming, and virtual environments. Issues include privacy, trust, identity, reputation, governance, copyright, and malicious behavior. (III)
4 Human Factors for the Web (4). Principles of human-computer interaction in evaluating, designing, and developing information presented on the World Wide Web. User characteristics, usability analysis, navigation and organization. Color, typography, multimedia, information visualization, prototyping, user studies, evaluation strategies. Web accessibility. May not be taken for credit after Informatics 131. (II)
5 Environmental Issues in Information Technology (4). Explores the relationship between recent developments in information technology and current global environmental issues. Potential topics include ecoinformatics, e-waste, technological life cycle assessment, and online community building. Activities involve reading, writing, discussion, and a final project. (II)
7 Introducing Modern Computational Tools (4). A unified look at a spectrum of modern tools for building, solving, and analyzing simple computational models (deterministic and random) in diverse subject areas. Tools include those for numeric/symbolic computation, and those for acquiring, organizing, translating, processing, and displaying information. Formerly ICS 6. (V)
8 Practical Computer Security (4). Principles of practical computer security to enable students to defend themselves against malicious threats. Firewalls, anti-virus, secure setup of a wireless access point. Cryptography basics and its application. Embedded devices and related security issues. (II)
10 How Computers Work (4). Introduction to digital computer and communication systems. Capabilities and limitations of information technology. Representing information in digital form. Overview of computer organization, Internet, operating systems, software. Human-computer interaction and social impact. May not be taken for credit after ICS 51, ICS 52, ICS 105, or Informatics 43. (II)
11 The Internet and Public Policy (4). How the Internet works. Current public policy issues concerning the Internet. Introductory economics. Communications law. Interactions between information technology, economics, and law. Case studies about Internet and communications policy. Same as Economics 11. (II or III)
Nonmajors may also take lower-division ICS courses for majors (below) to fulfill General Education requirements, if they have met the prerequisites.
LOWER-DIVISION COURSES FOR MAJORS
6B Boolean Algebra and Logic (4). Relations and their properties; Boolean algebras, formal languages; finite automata. Prerequisite: high school mathematics through trigonometry. (V)
6D 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: mathematical induction, combinatorics, and recurrence relations. Prerequisite: high school mathematics through trigonometry. (V)
20B Introduction to Computer Science with Applications to Biology (4). No background in computer science, programming, or biology required. Fundamental programming concepts are introduced using the language Python with a problem-oriented approach. All problems come from elementary molecular biology. May not be taken for credit after ICS 21/CSE21, ICS H21, or Informatics 41.
21 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 CSE21. Only one course from ICS 21/CSE21 and ICS H21 may be taken for credit. May not be taken for credit after Informatics 42. (II or V)
H21 Honors Introduction to Computer Science I (6). Introduces fundamental concepts of computer software design and construction. Develops initial design and programming skills using a high-level language. Fundamental concepts of control structures, data structures, functional and object-oriented programming. Introduces topics in computer organization and social impact of technology. Prerequisite: enrollment open to ICS, CSE, and Computer Science majors in the Campuswide Honors Program or by consent of the Bren School of ICS. Only one course from ICS H21 and ICS 21/CSE21 may be taken for credit. May not be taken for credit after Informatics 42. (II or V)
22 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: ICS 21/CSE21 or ICS H21 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. (II or V)
H22 Honors Introduction to Computer Science II (6). Abstract behavior of classic data structures (stacks, queues, sorted and unsorted maps), alternative implementations. Recursion. Mathematical analysis of time and space efficiency, program analysis and correctness, system design techniques, 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, ICS 22/CSE22, Informatics 41, or Informatics 42 may be taken for credit. (II or 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 or ICS H22 with a grade of C or better, or Informatics 42 with a grade of C or better, or Engineering EECS40. Same as CSE23. Only one course from ICS 23/CSE23 and ICS H23 may be taken for credit. (V)
H23 Honors Introduction to Computer Science III (4). 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/CSE 22 with a grade of A or better, or Informatics 42 with a grade of A or better. 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 or Informatics 42, with a grade of C or better; ICS 6B. (II)
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. Only one course from ICS 52, ICS 105, and Informatics 43 may be taken for credit.
60 Computer Games and Society (4). The study and critical analysis of computer games as art objects, cultural artifacts, gateways to virtual worlds, educational aids, and tools for persuasion and social change. Emphasis on understanding games in their historical and cultural context. ICS 60 and University Studies 12A-B-C may not both be taken for credit. (III)
61 Game Systems and Design (4). Principles and usage of game design elements. Introduction to technologies that support modern computer games. Students design, implement, and critique several small games. (II)
62 Game Technologies and Interactive Media (4). Technologies for interactive media and game design. Web-based software systems, virtual world platforms, and game engines. Emphasis on conceptual and architectural aspects of these technologies.Prerequisites: ICS 21/CSE21 or Informatics 41, with a grade of C or better.
65 Advanced Programming with C++ (4). An introduction to the C++ language for experienced Java programmers. Emphasis on object-oriented design and using standard libraries. Prerequisite: ICS 23 or Informatics 45 or one year of Java programming.
77A, B, C, D Topics in Mathematics and Computation in the Digital Age. Lecture, three hours; laboratory, two hours. Corequisite: Mathematics 2J or 6G, or consent of instructor. Prerequisites: Mathematics 2A-B; ICS 21/CSE21 or Informatics 41 or consent of instructor. First- and second-year students only.
77A Introduction to Signal Processing (4). Signals in MATLAB; blurring, mixing, filtering; elements of linear algebra, statistics, optimization; blind matrix inversion; de-correlation method, stochastic gradient descent method, applications to sounds and images. Same as Mathematics 77A. (II or V)
77B Introduction to Collaborative Filtering (4). Basic concepts of collaborative filtering; clustering; matrix factorization and principal components analysis; regression; classification; naive Bayes classifier, decision trees, Perceptron (neural networks). Same as Mathematics 77B. (II or V)
77C Introduction to Image Processing (4). Image de-noising, de-blurring, low pass filtering; image segmention and classification; sparse representation; visualization. Same as Mathematics 77C. (II or V)
77D Introduction to Game Simulation and Analysis (4). Combinatorial Game Theorygame classification, tree graphs, strategy analysis, Sprague Grundy functions, Bouton's Theorem; Zero-Sum and General-Sum Game Theorypayoff matrices, Minimax Theorem, Nash equilibrium; machine learningsearch algorithms. Same as Mathematics 77D. (II or V)
80 Special Topics in Information and Computer Science (2 to 4). May be repeated for credit if title or topic varies.
90 ICS: The First-Year Seminar (1). Introduces students to the Donald Bren School of Information and Computer Sciences. Activities focus on advising students making the transition to UCI, community building, and mostly surveying the technical areas within departments in ICS, via talks by faculty on their research. Pass/Not Pass only.
93 Strategies for Success in ICS (0). Develops students' study skills for ICS and general education 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. Two units of workload credit only. Pass/Not Pass only.
UPPER-DIVISION
105 Digital Information Systems (4). Design and analysis of digital information systems. Covers underlying database and network technology, and software engineering principles used to build these systems. Evaluating digital information systems, and recognizing common flaws and vulnerabilities. Prerequisite: one of the following with a grade of C or better: ICS 10, ICS/CSE21, ICS H21, Informatics 41. Only one course from ICS 52, ICS 105, and Informatics 43 may be taken for credit.
139 Critical Writing on Information Technology (4). Study and practice of critical writing and oral communication as it applies to information technology. Each student writes assignments of varying lengths, totaling at least 4,000 words. Prerequisite: satisfactory completion of the lower-division writing requirement; upper-division standing.
160 Game Engines and Hardware (4). Principles of computer architecture emphasizing hardware used with a general purpose processor to support high-performance computer games and graphics engines. Design of game engines and abstraction layers for this hardware. Prerequisite: ICS 51.
161 Game Engine Lab (4). The use of an industry standard game engine in the design and implementation of a new computer game. Principles of game engine design. Students work on a team to design, implement, and evaluate a new computer game based on an engine. Prerequisites: ICS 65 and ICS 160.
162 Modeling and World Building (4). Use of 3D modeling software and related tools to design and create animated, textured models and expansive virtual worlds incorporating objects, scenes, and venues for activity within game worlds and online environments. Prerequisite: ICS 160.
163 Mobile and Ubiquitous Games (4). Design and technology of mobile games, including mixed reality gaming, urban games, and locative media. Case studies of significant systems. Uses and limitations of location-based technologies. Infrastructures and their relationships to gameplay and design. Prerequisite: ICS 160.
167 Multiplayer Game Systems (4). Foundations and technologies that enable multiuser, networked, and persistent virtual environments. Emphasis on database design and management, network protocols, and concurrency control to accommodate large numbers of simultaneous users. Prerequisite: ICS 160.
168 Multiplayer Game Project (4). Designing and implementing a multiuser, networked, and persistent virtual environment or game. Emphasis on cultural aspects, community building, user interface issues and design, security, privacy, and economics. Prerequisites: ICS 52 with a grade of C or better; ICS 167.
169A-B Capstone Game Project I, II (4-4). Students work in teams to design and implement a new computer game or virtual world. Emphasis on sound, art, and level design, building a community, cut scenes, production values, full utilization of hardware and software platform, and current industry trends. Prerequisites: ICS 167 and 168. In-progress grading for ICS 169A.
192 Industrial or Public Sector Field Study (2). Students participate in an off-campus, supervised internship for a minimum of 60 hours. Students apply classroom knowledge through internship projects in the private sector or nonprofit agencies. Prerequisite: approval of the ICS Associate Dean of Student Affairs. Pass/Not Pass only. May be taken for credit two times.
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.
GRADUATE
270 CPAST Interdisciplinary Theory Seminar: Special Topics (4). Counterposes technological discourses with fine arts discourses and practices, with a focus on historical contextualization, utilizing critical theory and science and technology studies perspectives. Topics vary and are not repeated in any three-year period. May be repeated for credit as topics vary.
271 CPAST Studio/Laboratory: Interactive Installation and Performance Design Workshop (4). Designing persuasive spatialized interactive experiences: spatially and temporally distributed narratives. User-system relationships. "Freedom" in interaction: authoriality and control. Audience and the spect-actor. Sensors, behavior logics, and multi-modal output. Machine learning and autopedagogic systems. Training in relevant technologies. May be taken twice for credit.
272 CPAST Studio/Laboratory: Games and Algorithmic Systems in Literature and the Arts (4). Explores the cultural tradition of the game and game play with particular reference to the automation of games in computational systems and the close relation between gaming, improvisation, hypertext, and interactive art. Game programming techniques and projects. May be taken twice for credit.
273 CPAST Studio/Laboratory: Spatial Interaction: Sensors and Input/Output (4). Designing and building sensor and effector systems for cultural applications. Sensors, sensor combinations, sensor data collection and interpretation, input/output techniques and devices.
274 CPAST Studio/Laboratory: Real Space Interaction (4). Designing and building machine artworks, motion control, mechatronic, animatronic, and mobile robotic projects. Mechanics, electromechanics, electronics, microcontrollers, motor control. Aesthetico-critical as well as technical aspects subject to assessment.
275 CPAST Studio/Laboratory: Cultural Practice in Immersive Media (4). Examines and moves beyond existing paradigms of virtuality. Sensor and input devices, their logics and limitations. Embodied and symbolic interaction. Panoramic and stereoscopic image technologies. Stereoscopic graphics and spatialized sound. Technical components and their integration. Collaborative projects.
276 CPAST Studio/Laboratory: Telematic Performance and Teleoperative Art (4). Art and performance projects utilizing real time and quasi-real time distance interaction. Synchronous performance and distributed choreography. Network technologies and protocols. Speed, bandwidth, latency. Web-based technologies. Video and sound. Teleoperation/remote machine control. Same as Dance 276.
277 CPAST Studio/Laboratory: Special Topics (4). Focuses on currently emerging technologies, techniques, and cultural and critical issues. May be repeated for credit as topics vary.
278 CPAST Thesis Research (4 to 12). Independent research for thesis and thesis project. May be taken for a total of 36 units.
279 Special Topics in Critical Practices in Art, Science and Technology (4). Prerequisites vary. May be repeated for credit as topics vary.
398A Teaching Assistant Training Seminar (2). Theories, methods, and resources for teaching computer science at the university level, particularly by teaching assistants. Classroom presentations, working with individuals, grading, motivating students. Participants will give and critique presentations and may be videotaped while teaching. Satisfactory/Unsatisfactory only.
398B Advanced Teaching Assistant Seminar (4). Teaching computer science at the university level, emphasizing issues in teaching an entire course. Course organization, designing examinations and projects, grading, motivating students. Participants will begin to assemble teaching portfolios. Satisfactory/Unsatisfactory only. Prerequisite: ICS 398A or consent of instructor.
399 University Teaching (4). Involves on-the-job experience for Teaching Assistants. Limited to and required of Teaching Assistants.