Course Listing for 2019-20Note: 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 2019 Winter 2020 Spring 2020 Summer 2020 ICS 010
ICS 010Introduction 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. Mark Baldwin
Mustafa Ibraheem Hussain
ICS 139W
ICS 139WStudy and practice of critical and oral communication as it applies to information technology. Each student writes assignments of varying lengths, totaling at least 4,000 words. Shannon Alfaro
Kurt Squire
Neil Young
Shannon Alfaro
Amelia Regan
Rebecca W Black
Bonnie P Ruberg
Shannon Alfaro
Mustafa Ibrahim
Neil Young (2)
ICS 161
ICS 161The 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. Darryl Despie
ICS 162
ICS 162Use 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. Shuang Zhao
ICS 163
ICS 163Design 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. Aaron Trammell
ICS 166
ICS 166Game design takes into consideration psychology, narrative, platform features and limitations, marketing, computer science capabilities, human-computer interface principles, industry trends, aesthetic judgment, and other factors. Students focus on video game design through lectures, readings, presentations, implementation, and play testing. Craig William Morrison
ICS 167
ICS 167Foundations 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. Kurt Squire
ICS 168
ICS 168Designing 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. Kurt Squire
ICS 169A
ICS 169AStudents 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. Theresa Tanenbaum
ICS 169B
ICS 169BStudents 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. Theresa Tanenbaum
ICS 003
ICS 003Examines 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. Daniel Gardner
Samantha Mcdonald
ICS 031
ICS 031Introduction 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
Shannon Alfaro
Shannon Alfaro
ICS 032
ICS 032Construction 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) Kimberly A Hermans
Mustafa Ibrahim
Alex Thornton
Mustafa Ibrahim
Kimberly A Hermans
ICS 032A
ICS 032AIntroduces 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 033Intermediate-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) Richard Pattis
Richard Pattis (2)
Richard Pattis
ICS 398A
ICS 398ATheories, 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. Hadar Ziv
ICS 004
ICS 004Principles 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. TBD
ICS 045C
ICS 045CAn 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. Alex Thornton
Mustafa Ibrahim
Mustafa Ibrahim
Alex Thornton
ICS 045J
ICS 045JAn 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. Kimberly A Hermans
Kimberly A Hermans
ICS 046
ICS 046Focuses on implementation and mathematical analysis of fundamental data structures and algorithms. Covers storage allocation and memory management techniques. Same as CSE46. (Vb) Richard Pattis
Michael Shindler
Alex Thornton
Michael Shindler
Alex Thornton
ICS 005
ICS 005Explores 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. Bill Tomlinson
Neil Young
ICS 051
ICS 051Multilevel 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
Alexandru Nicolau
Jennifer Lee Wong-ma
Elaheh Bozorgzadeh
ICS 053
ICS 053Principles 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. Jennifer Lee Wong-ma
Ian Harris
Jennifer Lee Wong-ma (2)
ICS 053L
ICS 053LLaboratory to accompany ICS 53. Corequisite: ICS 53. Jennifer Lee Wong-ma
Ian Harris
Jennifer Lee Wong-ma (2)
ICS 060
ICS 060The 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 061Principles and usage of game design elements. Introduction to technologies that support modern computer games. Students design, implement, and critique several small games. Katie Anne Salen
ICS 062
ICS 062Technologies 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. Aaron Trammell
ICS 006B
ICS 006BRelations and their properties; Boolean algebras, formal languages; finite automata. Irene Gassko (2)
Kimberly A Hermans
Irene Gassko
ICS 006D
ICS 006DCovers 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. Sandy Irani
Irene Gassko (2)
Irene Gassko
Stanislaw Jarecki
ICS 006N
ICS 006NMatrices 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) Sergio Gago Masague
Gopi Meenakshisundaram
Sergio Gago Masague
Sergio Gago Masague
ICS 007
ICS 007A 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. Richard Pattis
ICS 090
ICS 090Introduces 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. Richard Pattis
Hadar Ziv
ICS H197
ICS H197An 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. Richard Lathrop