Course Listing for 2023-24
Note: This is a TENTATIVE schedule. The course listings shown here are neither guaranteed, nor considered "final". Department Chairs may provide updated information regarding course offerings or faculty assignments throughout the year. Be sure to check this list regularly for new or revised information.
Course Title description Fall 2023 Winter 2024 Spring 2024 Summer 2024 ICS 003 ![]()
ICS 3
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. Marina Fedorova Paul Dourish ICS 004 ![]()
ICS 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. Elizabeth Ankrah ICS 005 ![]()
ICS 5
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. Course activities involve reading, writing, discussion, and a final project. Neil Young Neil Young ICS 006 ![]()
ICS 6B
Relations and their properties; Boolean algebras, formal languages; finite automata. Irene Gassko (2) Michael Dillencourt Irene Gassko ICS 006 ![]()
ICS 6D
Covers essential tools from discrete math 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. Stanislaw Jarecki Irene Gassko (2) Jing Zhang ICS 006 ![]()
ICS 6N
Matrices and linear transformations, systems of linear equations, determinants, linear vector spaces, eigenvalues and eigenvectors, orthogonal matrices, diagonalization, and least squares. Topics will be taught primarily from an algorithmic perspective, including computational solutions, applications, and numerical error analysis. Only one course from Information and Computer Science 6N, Mathematics 3A, and Mathematics 6G may be taken for credit. (II, Vb) Gopi Meenakshisundaram Gopi Meenakshisundaram ICS 009 ![]()
ICS 9
Introduces principles, techniques, and computational tools for quantitative approach to basic problem solving in physics and engineering. Project-based course that actively explores how programing techniques are used for solving STEM real-world problems. Sergio Gago Masague ICS 010 ![]()
ICS 10
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. Mohammad Moshirpour Emily Navarro ICS 011 ![]()
ICS 11
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. Scott Jordan ICS 031 ![]()
ICS 31
Introduction to fundamental concepts and techniques for writing software in a high-level programming language. Covers the syntax and semantics of data types, expressions, exceptions, control structures, input/output, methods, classes, and pragmatics of programming. Same as CSE41. Only one course from ICS 21/CSE21, ICS H21, ICS 31/CSE41, EECS10, EECS12, ENGR 10, and MAE10 may be taken for credit. (II, Vb) Shannon Alfaro
Thomas YehShannon Alfaro ICS 032 ![]()
ICS 32
Construction of programs for problems and computing environments more varied than in ICS 31. Using library modules for applications such as graphics, sound, GUI, database, Web, and network programming. Language features beyond those in ICS 31 are introduced as needed. Same as CSE42. Only one course from ICS 32/CSE42, ICS 22/CSE22, ICS H22, or Informatics 42 may be taken for credit. (II; Va or Vb) Mustafa Ibrahim Alberto Martins (2)
Mohammad MoshirpourMustafa Ibrahim ICS 032 ![]()
ICS H32
Introduces Python syntax and semantics for fundamental programming concepts. Constructing programs for varied problems and environments. Using library modules for applications such as graphics, sound, GUI, database, Web, and network programming. Accelerated course for students with previous programming background. Alex Thornton ICS 033 ![]()
ICS 33
Intermediate-level language features and programming concepts for larger, more complex, higher-quality software. Functional programming, name spaces, modules, class protocols, inheritance, iterators, generators, operator overloading, reflection. Analysis of time and space efficiency. Same as CSE43. Only one course from ICS 33/CSE43, ICS 22/CSE22, ICS H22, or Informatics 42 may be taken for credit. (II, Vb) Alex Thornton Alex Thornton Alex Thornton ICS 045 ![]()
ICS 45C
An introduction to the lexical, syntactic, semantic, and pragmatic characteristics of the C/C++ languages for experienced programmers. Emphasis on object-oriented programming, using standard libraries, and programming with manual garbage collection. Formerly ICS 65. Same as CSE 45C. Michael Shindler Raymond O. Klefstad Raymond O. Klefstad ICS 045 ![]()
ICS 45J
An introduction to the lexical, syntactic, semantic, and pragmatic characteristics of the Java language for experienced programmers. Emphasis on object-oriented programming, using standard libraries, and programming with automatic garbage collection. Emily Navarro Emily Navarro ICS 046 ![]()
ICS 46
Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques. Same as CSE46. (Vb) Michael Shindler Alex Thornton
Michael ShindlerRaymond O. Klefstad ICS 051 ![]()
ICS 51
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. Jennifer Lee Wong-ma TBD Nikil Dutt ICS 053 ![]()
ICS 53
Principles and practice of engineering of computer software and hardware systems. Topics include techniques for controlling complexity; strong modularity using client-server design, virtual memory, and threads; networks; coordination of parallel activities; security and encryption; and performance optimizations. Corequisite: ICS 53L. Ian Harris Jennifer Lee Wong-ma Jennifer Lee Wong-ma ICS 060 ![]()
ICS 60
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 contexts. ICS 60 and University Studies 12A-B-C may not both be taken for credit. Constance Steinkuehler Constance Steinkuehler ICS 061 ![]()
ICS 61
Principles and usage of game design elements. Introduction to technologies that support modern computer games. Students design, implement, and critique several small games. Aaron Trammell ICS 080 ![]()
ICS 80
May be repeated for credit if title or topic varies. David Ochi David Ochi TBD ICS 090 ![]()
ICS 90
Introduces students to the 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. Shannon Alfaro ICS 197 ![]()
ICS H197
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 ICS Honors Program or Campuswide Honors Program. Pass/Not Pass only. Volodymyr Minin Volodymyr Minin Volodymyr Minin
➤