UCLA Computer Science Department: An Overview

The UCLA Department of Computer Science, a division of UCLA Samueli School of Engineering, offers a comprehensive curriculum designed to equip students with the skills to thrive in today's rapidly evolving technological landscape. Computer science is concerned with the design, modeling, analysis, and applications of computer systems. Its study at UCLA provides education at the undergraduate and graduate levels necessary to understand, design, implement, and use the software and hardware of digital computers and digital systems. The department provides education at the undergraduate and graduate levels necessary to understand, design, implement, and use the software and hardware of computers and digital systems.

Academic Programs and Degrees

UCLA Samueli offers Bachelor of Science (B.S.), Master of Science (M.S.), and Doctor of Philosophy (Ph.D.) degrees in Computer Science, as well as minor fields for graduate students seeking engineering degrees. In cooperation with the John E. Anderson Graduate School of Management, the Computer Science Department offers a concurrent degree program that enables students to obtain the M.S. in Computer Science and the M.B.A.

Bachelor of Science in Computer Science

The computer science curriculum is designed to accommodate students who want professional preparation in computer science but do not necessarily have a strong interest in computer systems hardware. The curriculum consists of components in computer science, a minor or technical support area, and a core of courses from the social sciences, life sciences, and humanities. Within the curriculum, students study subject matter in software engineering, principles of programming languages, data structures, computer architecture, theory of computation and formal languages, operating systems, distributed systems, computer modeling, computer networks, compiler construction, and artificial intelligence.

The B.S. degree requires completion of several core computer science courses, including Computer Science 111, 118, 131, M151B (or Electrical Engineering M116C), M152A (or Electrical Engineering M116L), 180, 181, Statistics 100A. Students must also complete three science and technology courses (12 units) not used to satisfy other requirements, that may include three upper division computer science courses or three courses selected from an approved list available in the Office of Academic and Student Affairs; three technical breadth courses (12 units) selected from an approved list available in the Office of Academic and Student Affairs; one capstone software engineering or design course from Computer Science 130 or 152B; and six upper division computer science elective courses (24 units), two of which must be selected from Computer Science 143, 161, or 174A and one of which must be from 112 or 170A or Electrical Engineering 103 (credit is not given for both Computer Science 170A and Electrical Engineering 103 unless one of the courses is included in the technical breadth area). The remaining three elective courses must be selected from Computer Science 112, 113, 114, M117 (or Electrical Engineering M117), CM121 (or Chemistry and Biochemistry CM160A), CM122 (or Chemistry and Biochemistry CM160B), CM124 (or Human Genetics CM124), 130 (unless taken as a required course), 132, 133, 136, 143, 144, 151C, 152B (unless taken as a required course), 161, 170A, M171L (or Electrical Engineering M171L), 174A, 174B, C174C, 183, M184 (or Biomedical Engineering M184 or Computational and Systems Biology M184), CM186 (or Biomedical Engineering CM186 or Computational and Systems Biology CM186), CM187 (or Biomedical Engineering CM187 or Computational and Systems Biology CM187).

Master of Science in Computer Science

The Department of Computer Science offers Master of Science (M.S.) degrees in Computer Science and participates in a concurrent degree program (Computer Science M.S./Management M.B.A.) with the John E. Anderson Graduate School of Management. A total of nine courses is required for the M.S. degree, including a minimum of five graduate courses. No lower division courses may be applied toward graduate degrees. M.S. degree students must satisfy the computer science breadth requirement by the end of the third term in graduate residence at UCLA. The requirement is satisfied by mastering the contents of five undergraduate courses or equivalent: Computer Science 180, two courses from 111, 118, and M151B, one course from 130, 131, or 132, and one course from 143, 161, or 174A. For the M.S. In the comprehensive examination plan, at least five of the nine courses must be 200-series courses. The remaining four courses may be either 200-series or upper division courses. In the thesis plan, seven of the nine courses must be formal courses, including at least four from the 200 series. The thesis is a report on the results of student investigation of a problem in the major field of study under the supervision of the thesis committee, which approves the subject and plan of the thesis and reads and approves the complete manuscript. While the problem may be one of only limited scope, the thesis must exhibit a satisfactory style, organization, and depth of understanding of the subject. Students should normally start to plan the thesis at least one year before the award of the M.S. degree is expected. The Department of Computer Science and the John E. Anderson Graduate School of Management offer a concurrent degree program that enables students to complete the requirements for the M.S. in Computer Science and the M.B.A. (Master of Business Administration) in three academic years. Students should request application materials from both the M.B.A. Admissions Office, John E.

Read also: UCLA vs. Illinois: Basketball History

Doctor of Philosophy in Computer Science

The Department of Computer Science offers Doctor of Philosophy (Ph.D.) degrees in Computer Science. Normally, students take courses to acquire the knowledge needed to prepare for the written and oral examinations and for conducting Ph.D. research. The basic program of study for the Ph.D. degree is built around the major field requirement and two minor fields. The fundamental examination is common for all Ph.D. To satisfy the major field requirement, students are expected to attain a body of knowledge contained in six courses, as well as the current literature in the area of specialization. In particular, students are required to take a minimum of four graduate courses in the major field of Ph.D. research, selecting these courses in accordance with guidelines specific to the major field. Guidelines for course selection in each major field are available from the departmental Student Affairs Office. Grades of B- or better, with a grade-point average of at least 3.33 in all courses used to satisfy the major field requirement, are required. Each minor field normally embraces a body of knowledge equivalent to three courses, at least two of which are graduate courses. Grades of B- or better, with a grade-point average of at least 3.33 in all courses included in the minor field, are required. Ph.D. degree students must satisfy the computer science breadth requirement by the end of the third term in graduate residence at UCLA. The requirement is satisfied by mastering the contents of five undergraduate courses or equivalent: Computer Science 180, two courses from 111, 118, and M151B, one course from 130, 131, or 132, and one course from 143, 161, or 174A. For the Ph.D. degree, students must also complete at least three terms of Computer Science 201 with grades of Satisfactory (in addition to the three terms of 201 that may have been completed for the M.S. The written qualifying examination consists of a high-quality paper, solely authored by the student. The paper can be either a research paper containing an original contribution or a focused critical survey paper. The paper should demonstrate that the student understands and can integrate and communicate ideas clearly and concisely. It should be approximately 10 pages single-spaced, and the style should be suitable for submission to a first-rate technical conference or journal. The paper must represent work that the student did as a graduate student at UCLA. Any contributions that are not the student’s own, including those of the student’s adviser, must be explicitly acknowledged in detail. Prior to submission, the paper must by reviewed by the student’s adviser on a cover page with the adviser’s signature indicating review. After submission, the paper must be reviewed and approved by at least two other members of the faculty. After passing the preliminary examination and coursework for the major and minor fields, the student should form a doctoral committee and prepare to take the University Oral Qualifying Examination. A doctoral committee consists of a minimum of four members. Three members, including the chair, must hold appointments in the Computer Science Department at UCLA. The remaining member must be a UCLA faculty member outside the Computer Science Department. The nature and content of the oral qualifying examination are at the discretion of the doctoral committee but ordinarily include a broad inquiry into the student’s preparation for research.

Key Focus Areas

The UCLA Computer Science Department offers programs designed to meet the demands of the modern tech landscape. Key focus areas include:

  • Software Development & Programming: Master the languages, frameworks, and tools that power today’s most in-demand applications-from web and mobile to enterprise systems.
  • Machine Learning & Artificial Intelligence: Dive into the world of intelligent systems. Learn how to build, train, and deploy models that drive innovation across industries.
  • Data Analytics & Infrastructure: Gain the skills to collect, manage, and analyze data at scale. Stay ahead in this evolving ecosystem and deepen your understanding of blockchain and distributed ledger technology (DLT).

Specialized Certificates

The department also offers specialized certificates to enhance skills in specific areas:

  • Cybersecurity Certificate: Learn essential cybersecurity skills in our 4-course Cybersecurity Certificate. Quickly gain the knowledge you need to protect your technology infrastructure from physical and virtual threats.
  • Big Data Specialization: Learn to leverage the power of big data to extract insights and improve decision making for real-world problems.
  • Geospatial Technology Certificate: Learn how to use location-based data to better understand the world. Offered in partnership with the UCLA Department of Geography, this certificate provides an introduction to the methods and techniques used within the field of GIS and geospatial technology.
  • Advanced SQL for Data Scientists: For those with SQL knowledge, this course covers advanced SQL statements used in inserting, retrieving, and updating a database.
  • AI Agentic Engineering Certificate: Learn to design and deploy agentic AI systems using CrewAI, Google ADK, and n8n.

Research and Facilities

The undergraduate and graduate studies and research projects in the Department of Computer Science are supported by significant computing resources. In addition to the departmental computing facility, there are over a dozen research laboratories specializing in areas such as distributed systems, multimedia computer communications, distributed sensor networks, VLSI systems, VLSI CAD, embedded and reconfigurable systems, computer graphics, bioinformatics, and artificial intelligence. Also, the Cognitive Systems Laboratory is engaged in studying computer systems that emulate or support human reasoning.

Research within the department spans a wide range of areas, including:

Read also: Navigating Tech Breadth at UCLA

  • Artificial Intelligence (AI): The study of intelligent behavior, focusing on information processing models. Areas of research include computer vision, expert systems, knowledge representation and qualitative reasoning, machine learning, natural language processing, problem solving, and robotics.
  • Computational Systems Biology (CSB): Core coursework is concerned with the methods and tools development for computational, algorithmic, and dynamic systems network modeling of biological systems at molecular, cellular, organ, whole organism, or population levels-and leveraging them in biosystem and bioinformatics applications. Typical research areas with a systems focus include molecular and cellular systems biology, organ systems physiology, medical, pharmacological, pharmacokinetic (PK), pharmacodynamic (PD), toxicokinetic (TK), physiologically based PBPK-PD, PBTK, and pharmacogenomic system studies; neurosystems, imaging and remote sensing systems, robotics, learning and knowledge-based systems, visualization, and virtual clinical environments. Typical research areas with a bioinformatics focus include development of computational methods for analysis of high-throughput molecular data, including genomic sequences, gene expression data, protein-protein interaction, and genetic variation.
  • Computer Networks: The study of computer networks of different types, in different media (wired, wireless), and for different applications. Besides the study of network architectures and protocols, this field also emphasizes distributed algorithms, distributed systems, and the ability to evaluate system performance at various levels of granularity (but principally at the systems level). In order to understand and predict systems behavior, mathematical models are pursued that lead to the evaluation of system throughput, response time, utilization of devices, flow of jobs and messages, bottlenecks, speedup, power, etc. In addition, students are taught to design and implement computer networks using formal design methodologies subject to appropriate cost and objective functions. A central problem in the design and evaluation of computer networks deals with the allocation of resources among competing demands (e.g., wireless channel bandwidth allocation to backlogged stations). Most of our resource allocation problems arise from the unpredictability of the demand for the use of these resources, as well as from the fact that the resources are geographically distributed (as in computer networks). Our goal is to find allocation schemes that permit suitable concurrency in the use of devices (resources) so as to achieve efficiency and equitable allocation. A very popular approach in distributed systems is allocation on demand, as opposed to prescheduled allocation. On-demand allocation is found to be effective, since it takes advantage of statistical averaging effects.
  • Theoretical Computer Science: Emphasizing the interweaving themes of computability and algorithms. Under computability, one includes questions concerning which tasks can and cannot be performed by information systems of different types restricted in various ways, as well as the mathematical analysis of such systems, their computations, and the languages for communication with them. Under algorithms, one includes questions concerning (1) how a task can be performed efficiently under reasonable assumptions on available resources (e.g., time, storage, type of processor), (2) how efficiently a proposed system performs a task in terms of resources used, and (3) the limits on how efficiently a task can be performed.
  • Computer Systems Architecture: Deals with the design, implementation, and evaluation of computer systems and their building blocks. It deals with general-purpose systems as well as embedded special-purpose systems. Computer systems are implemented as a combination of hardware and software. Hence, research in the field of computer architecture often involves both hardware and software issues. The requirements of application software and operating systems, together with the capabilities of compilers, play a critical role in determining the features implemented in hardware. Novel architectures encompass the study of computations that are performed in ways that are quite different than those used by conventional machines. The study of high-performance processing algorithms deals with algorithms for very high-performance numerical processing. The study of computational algorithms and structures deals with the relationship between computational algorithms and the physical structures that can be employed to carry them out. Computer-aided design of VLSI circuits and systems is an active research area that develops techniques for the automated synthesis and analysis of large-scale systems. VLSI architectures and implementation is an area of current interest and collaboration between the Electrical and Computer Engineering and Computer Science departments that addresses the impact of large-scale integration on the issues of computer architecture.
  • Data Management Systems: A data management system embodies a collection of data, devices in which the data are stored, and logic or programs used to manipulate that data. Information management is a generalization of data management in which the data being stored are permitted to be arbitrarily complex data structures, such as rules and trees. The need for rapid, accurate information is pervasive in all aspects of modern life. Modern systems are based on the coordination and integration of multiple levels of data representation, from characteristics of storage devices to conceptual and abstract levels.
  • Graphics and Vision: The graphics and vision field focuses on the synthesis and analysis of image and video data by computer. Graphics includes the topics of rendering, modeling, animation, visualization, and interactive techniques, among others, and it is broadly applicable in the entertainment industry (motion pictures and games) and elsewhere. Vision includes image/video representation and registration, feature extraction, three-dimensional reconstruction, object recognition, and image-based modeling, among others, with application to real-time vision/control for robots and autonomous vehicles, medical imaging, visual sensor networks and surveillance, and more.
  • Software Systems: The software systems field is concerned with the study of theory and practice in the development of software systems. Well-engineered systems require appreciation of both principles and architectural trade-offs. Principles here encompass the use of programming systems to achieve specified goals, the identification of useful programming abstractions or paradigms, the development of comprehensive models of soft-ware systems, and so forth. Development of software systems requires an understanding of many methodological and architectural issues.

CS Town Hall

The CS Town Hall is an opportunity for students to directly speak with professors and administrators in the CS department. The town hall is jointly held by ACM at UCLA, exploretech.la, UPE at UCLA, and the Department of Computer Science at UCLA.

Surveys are used to gauge students' opinions on diversity & inclusion, academics and curriculum, and teaching practices. The Fall Town Hall's focus is on student questions. Survey responses are anonymous.

Past Town Halls have addressed topics such as:

  • The rework of CS35L (and CS97)
  • The start of engineering-wide ethics reform
  • More leniency around the sci-tech and tech breadth electives
  • Reduction of the Physics Lab Requirement from 2 classes to 1
  • Removal of the chemistry requirement from the CS degree
  • The ESAP GPA increase
  • Motivations behind adding a new CS Catalog for Fall 2025 and educational freezes
  • The faculty's responsiveness to feedback
  • The introduction of autograders
  • The relevance of Physics as a degree requirement
  • Issues surrounding academic dishonesty, including the impact of tools like GPT
  • Proposed reforms to the Computer Science curriculum
  • Exploring research opportunities for undergraduates
  • Ongoing discussions around enabling students to provide anonymous feedback to faculty members
  • Identifying effective teaching practices and discussing the curriculum reform with the CS department while enabling more students to directly address their concerns with professors and the department's leadership
  • Critical issues such as inclusion and curriculum reform with the CS department while empowering students to share their concerns with professors and the department's leadership
  • Academics & curriculum, academic honesty, and a new section devoted to diversity & inclusion

Additional Information

The UCLA General Catalog is published annually in PDF and HTML formats. Every effort has been made to ensure the accuracy of the information presented in the UCLA General Catalog. However, all courses, course descriptions, instructor designations, curricular degree requirements, and fees described herein are subject to change or deletion without notice. Consult this Catalog for the most current, officially approved courses and curricula. Other information about UCLA may be found in materials produced by the schools of Arts and Architecture; Dentistry; Education and Information Studies; Engineering and Applied Science; Law; Management; Medicine; Music; Nursing; Public Affairs; Public Health; and Theater, Film, and Television.

Read also: Understanding UCLA Counselors

tags: #ucla #computer #science #department #overview

Popular posts: