# Software Engineering (SWE) courses UC Irvine · 2026-2027 Catalog · 46 courses Source: https://catalogue.uci.edu/allcourses/swe/ "Offered" lists sections in this catalog year's class schedules: Fall 2026. ### SWE 43 — Introduction to Software Engineering - **Units:** 4 - **Prerequisite:** I&C SCI 32 or I&C SCI H32 or I&C SCI 32A - **Offered:** Fall 2026, 10 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Overlaps with I&C SCI 105 - Restrictions: Computer Science and Engineering majors and School of Information and Computer Sciences students have the first consideration for enrollment Concepts, methods, and current practice of software engineering. Large-scale software production, software life cycle models, principles, and techniques for each stage of development. ### SWE 113 — Requirements Analysis and Engineering - **Units:** 4 - **Prerequisite:** I&C SCI 33 with a minimum grade of C and SWE 43 with a minimum grade of C - **Offered:** Fall 2026, 7 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Informatics majors, Software Engineering majors, Business Information Management majors, and Game Design and Interactive Media majors have the first consideration for enrollment. School of Information and Computer Sciences students only. Computer Science Engineering Majors have second consideration for enrollment Equips 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. ### SWE 115 — Software Testing, Analysis, and Quality Assurance - **Units:** 4 - **Prerequisite:** (I&C SCI 45J with a minimum grade of C or I&C SCI 45C with a minimum grade of C or I&C SCI 46 with a minimum grade of C) and SWE 43 with a minimum grade of C - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Computer Science and Engineering majors and School of Information and Computer Sciences students have the first consideration for enrollment Preparation for developing high-quality software through successful verification and validation techniques. Fundamental principles of software testing, implementing software testing practices, ensuring the thoroughness of testing to gain confidence in the correctness of the software. ### SWE 117 — Project in Software System Design - **Units:** 4 - **Prerequisite:** SWE 43 and I&C SCI 33 - **Offered:** Fall 2026, 2 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Computer Science and Engineering majors and School of Information and Computer Sciences students have the first consideration for enrollment 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. ### SWE 119 — Engineering Artificial Intelligence Software - **Units:** 4 - **Prerequisite:** (I&C SCI 45C with a minimum grade of C or I&C SCI 45J with a minimum grade of C) and (STATS 7 or STATS 67) - **Offered:** Fall 2026, 2 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Informatics majors and Software Engineering majors have the first consideration for enrollment. School of Information and Computer Sciences students only. Computer Science Engineering Majors have second consideration for enrollment Design, deploy, and manage software incorporating AI components in real-world production environments. Topics include types of models, in-house vs. third-party models, retrieval augmented generation, fine-tuning, prompt engineering, model testing, and reliability. ### SWE 121 — Software Design: Applications - **Units:** 4 - **Prerequisite:** I&C SCI 33 with a minimum grade of C or GDIM 33 with a minimum grade of C - **Offered:** Fall 2026, 3 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Computer Science and Engineering majors and School of Information and Computer Sciences students have the first consideration for enrollment 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. ### SWE 122 — Software Design: Structure and Implementation - **Units:** 4 - **Prerequisite:** I&C SCI 45J or I&C SCI 46 - **Offered:** not on the Fall 2026 schedule - Restrictions: Computer Science and Engineering majors and School of Information and Computer Sciences students have the first consideration for enrollment 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. ### SWE 124 — Internet Applications Engineering - **Units:** 4 - **Prerequisite:** (COMPSCI 132 or EECS 148) and I&C SCI 45J - **Offered:** not on the Fall 2026 schedule - Same as COMPSCI 137 - Overlaps with COMPSCI 122B - Restrictions: Computer Science and Engineering majors and School of Information and Computer Sciences students have the first consideration for enrollment 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. ### SWE 141 — Information Retrieval - **Units:** 4 - **Prerequisite:** (I&C SCI 45C with a minimum grade of C or I&C SCI 45J with a minimum grade of C) and (STATS 7 or STATS 67 or MGMT 7 or AP Statistics with a minimum score of 3) - **Offered:** Fall 2026, 6 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Same as COMPSCI 121 - Restrictions: School of Information and Computer Sciences students have the first consideration for enrollment An introduction to information retrieval including indexing, retrieval, classifying, and clustering text and multimedia documents. ### SWE 211 — Software Engineering - **Units:** 4 - **Offered:** not on the Fall 2026 schedule 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. ### SWE 212 — Analysis of Programming Languages - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Same as COMPSCI 253 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. ### SWE 214 — Program Analysis - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Restrictions: School of Information and Computer Sciences students have the first consideration for enrollment Covers principles and concepts of automated program analysis. Topics include program representations; intra-procedural data-flow analysis; call-graph construction; pointer analysis; alias analysis; inter-procedural analysis; inter-procedural finite distributive subset problems; inter-procedural distributive environment problems; symbolic execution; and program-analysis applications. ### SWE 215 — Dynamic Analysis, Testing, and Debugging - **Units:** 4 - **Offered:** not on the Fall 2026 schedule Studies techniques for developing confidence in software from traditional testing techniques to state-of-the-art dynamic analysis and debugging techniques. Emphasis is on assisting developer comprehension of runtime behavior. ### SWE 221 — Software Architecture - **Units:** 4 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) 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. ### SWE 225 — Information Retrieval, Filtering, and Classification - **Units:** 4 - **Prerequisite:** COMPSCI 161 and COMPSCI 171 and (I&C SCI 6N or MATH 3A or MATH 6G) - **Offered:** not on the Fall 2026 schedule - Same as COMPSCI 221 Algorithms for the storage, retrieval, filtering, and classification of textual and multimedia data. The vector space model, Boolean and probabilistic queries, and relevance feedback. Latent semantic indexing; collaborative filtering; and relationship to machine learning methods. ### SWE 233 — Intelligent User Interfaces - **Units:** 4 - **Prerequisite:** COMPSCI 171 - **Offered:** not on the Fall 2026 schedule Explores example software systems and their underlying concepts that leverage computing to empower and augment human individuals in their activities. Topics span the fields of user interface design, human-computer interaction, software engineering, and cognitive computing. ### SWE 234 — Human Aspects of Software Engineering - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Restrictions: School of Information and Computer Sciences students have the first consideration for enrollment. No Master of Software Engineering students Selected topics about the cooperative and human aspects of software engineering from the perspective that software engineering is inherently an endeavor involving human stakeholders. Topics may include but are not limited to collaboration, trust, creativity, well-being, productivity, and software tools. ### SWE 240P — Data Structures - **Units:** 2 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of well-known data structures to represent computational problems. Topics include linked lists, graphs, binary trees, stacks, queues, heaps, and hash tables, among others. ### SWE 241P — Algorithms - **Units:** 2 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of strategies to tackle computational problems whose solutions include well-known algorithms. Topics include sorting, searching, and indexing, among others. ### SWE 242P — Network Programming - **Units:** 2 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of networking principles and concepts for the development of distributed software. Topics include programming against well-known network protocols, ports and sockets, and network APIs. ### SWE 243P — Database Programming - **Units:** 2 - **Offered:** not on the Fall 2026 schedule - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of software development with substantial reliance on a database for storage and retrieval of data. Topics include relational databases, structured query language, relational database management systems, APIs and libraries for database programming, among others. ### SWE 244P — Concurrent Programming - **Units:** 2 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of concepts and mechanisms for the development of concurrent software. Topics include threads, locks, race conditions, and deadlocks, among others. ### SWE 245P — GUI Programming - **Units:** 2 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of interactive software with substantial graphical user interface elements. Topics include libraries and frameworks for GUI programming, layout design and alternatives, event-driven programming, among others. ### SWE 246P — Mobile Programming - **Units:** 2 - **Offered:** not on the Fall 2026 schedule - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of contemporary libraries and frameworks for construction of mobile applications. Topics include emulators, mobile development standards and patterns, energy consumption issues, screen layout, among others. ### SWE 247P — Applied Information Retrieval - **Units:** 2 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of principles and concepts for textual information retrieval. Topics include tokenization, inverted indexes, scored retrieval, and precision and recall. ### SWE 248P — Neural Network Programming - **Units:** 2 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of the concepts, terminology, and processes for training and using deep neural networks for classification problems. Topics include tensors and tensor operations, gradient-based optimization, feature engineering and learning, and workflow of learning systems. ### SWE 249P — Applied Data Analytics - **Units:** 2 - **Offered:** not on the Fall 2026 schedule - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of the concepts, terminology, and processes used in supervised and unsupervised learning for classification and clustering, from a software engineering perspective. Topics include K-Nearest Neighbors, Logistic Regression, Random Forests, Support Vector Machines, K-Means, and model assessment. ### SWE 250P — Web Programming - **Units:** 2 - **Offered:** not on the Fall 2026 schedule - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Exploration of the concepts, terminology, and popular frameworks for developing full-stack web applications. Students develop simple applications using multiple development stacks, and deploy them on the cloud. ### SWE 251P — Introduction to Large Language Models - **Units:** 2 - **Offered:** not on the Fall 2026 schedule - Restrictions: Master of Software Engineering only Introduces LLMs for software engineering, covering transformers, prompt/context engineering, and retrieval-augmented generation (RAG). Students gain hands-on experience interacting with models using APIs and open-source models while laying the foundation for advanced study in SWE 270P. ### SWE 261P — Software Testing and Debugging - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Restrictions: Master of Software Engineering only Designed to teach students how to ensure high-quality software by means of testing, debugging, and other quality assurance activities. Students learn a combination of both theoretical and practical skills, including hands-on experience with modern tools and approaches. ### SWE 262P — Advanced Programming Techniques - **Units:** 4 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Master Of Software Engineering majors and Master of Software Engineering only Teaches students the various ways software can be decomposed and then how to put the parts back together. Students are exposed to a variety of different programming styles and composition mechanisms. ### SWE 263P — User Experience and Interaction - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Restrictions: Master of Software Engineering only Provides an introduction to the basic principles of human-computer interaction (HCI) and the pragmatic aspects of usability engineering. Topics include the fundamentals of interaction, user experience, design for usability, and evaluation of products for their usability. ### SWE 264P — Distributed Software Architecture - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Restrictions: Master of Software Engineering only Study of software system architectures and architectural styles for large-scale distributed applications, and contemporary technologies and standards for their construction. Topics include client-server, peer-to-peer, publish-subscribe, REST, cloud computing, content distribution networks, scalability, latency, caching, and security, among others. ### SWE 265P — Reverse Engineering and Modeling - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Restrictions: Master of Software Engineering only Introduces theories, concepts, representations, techniques, and case studies in understanding large-scale, complex software systems. Topics include static and dynamic modeling notations, manual and (semi-)automated reverse engineering techniques, APIs, patterns, and styles. A significant, hands-on project is included. ### SWE 266P — Software Security and Dependability - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Restrictions: Master of Software Engineering only Principles and concepts for the design and construction of secure software. Topics include common types of software security vulnerabilities, methods for detecting vulnerabilities, design and process methodologies to improve security of software, and techniques for assessing security properties of software. ### SWE 267P — Cloud and Security Foundations - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Restrictions: Master of Software Engineering only Cloud and security foundations provides students fundamental design and security principles about cloud computing and information security. Topics include cloud concepts and architectures; cloud security; data protection and privacy compliance and governance; and security by design, amongst other topics. ### SWE 270P — Engineering Artificial Intelligence Software - **Units:** 4 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Master Of Software Engineering majors and Master of Software Engineering only Design, deploy, and manage software incorporating AI components in real-world production environments. Topics include learning about different types of models, in-house vs. third-party models, retrieval augmented generation, fine-tuning, prompt engineering, model testing, and reliability. ### SWE 275P — Curricular Practical Training - **Units:** 0.5 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Grading Option: Satisfactory/Unsatisfactory only - Repeatability: May be taken for credit 2 times - Restrictions: Master of Software Engineering only Mandatory internship in which students individually work at an outside organization to gain experience with the challenges involved in the practice of software engineering. ### SWE 276P — Capstone Project in Software Engineering - **Units:** 4 - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Master of Software Engineering only Quarter-long software-intensive project focusing on the design and implementation of a novel software system. Students are expected to bring to bear the concepts acquired during the program. ### SWE 277P — Capstone Project in Software Engineering II - **Units:** 4 - **Corequisite:** SWE 276P - **Offered:** Fall 2026, 1 section (/c/uc-irvine/schedule/fall-2026/swe.md) - Restrictions: Master Of Software Engineering majors and Master of Software Engineering only Focuses on designing and implementing a novel software system. Students work on their project while emphasizing communication skills in business and technical settings. Students practice presenting project ideas, developing portfolios. ### SWE 290 — Research Seminar - **Units:** 2 - **Offered:** Fall 2026, 12 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Grading Option: Satisfactory/Unsatisfactory only - Repeatability: May be taken unlimited times 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. ### SWE 290P — Advisement - **Units:** 0.3 - **Offered:** Fall 2026, 2 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Grading Option: Satisfactory/Unsatisfactory only - Repeatability: May be taken for credit 3 times - Restrictions: Master of Software Engineering only Mandatory weekly meetings with a faculty advisor. ### SWE 295 — Special Topics in Software Engineering - **Units:** 4 - **Offered:** not on the Fall 2026 schedule - Repeatability: May be taken unlimited times Studies in selected areas of software engineering. Topics addressed vary each quarter. ### SWE 298 — Thesis Supervision - **Units:** 2-12 - **Offered:** Fall 2026, 12 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken unlimited times Individual research or investigation conducted in preparation for the M.S. thesis option or the dissertation requirements for the Ph.D. program. ### SWE 299 — Individual Study - **Units:** 1-12 - **Offered:** Fall 2026, 12 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken unlimited times Individual research or investigation under the direction of an individual faculty member. ### SWE 299P — Independent Study - **Units:** 1-4 - **Offered:** Fall 2026, 8 sections (/c/uc-irvine/schedule/fall-2026/swe.md) - Repeatability: May be taken for credit 4 times Supervised individual practical project in Software Engineering.