Loading

BruinTree is an independent student project. It is not affiliated with, endorsed by, or sponsored by UCLA or the University of California. Where this comes from›

Course information comes from the public UCLA General Catalog. Requisites are read from UCLA’s published wording and can be incomplete or out of date — check the official catalog listing and your department adviser before you enroll.

UCLA, Bruin, and related marks are trademarks of The Regents of the University of California.

Report a problem

Anonymous, and it takes a sentence. This is the main way BruinTree finds out what it has got wrong.

What kind of problem

Sends this page’s address and your browser version. Nothing else.

COM SCI 31 · CS 31Introduction to Computer Science I

Computer Science · 4 units · Undergraduate lower division (0-99)

See treeView official UCLA course listing ↗Find on Bruinwalk ↗

Introduction to computer science via theory, applications, and programming. Basic data types, operators and control structures. Input/output. Procedural and data abstraction. Introduction to object-oriented software development. Functions, recursion. Arrays, strings, pointers. Abstract data types, object-oriented programming. Examples and exercises from computer science theory and applications.

Letter grading.

When it runs

Checking the Schedule of Classes…

Requisites

UCLA lists no requisites for this course.

Report a problem

About COM SCI 31. We read UCLA’s requisite wording by machine, and it gets things wrong.

What kind of problem

Sends this page’s address and your browser version. Nothing else.

Requires

Everything that has to come before this course, not just the courses named in the requisite above.

Nothing — this is an entry point.

Unlocks

What this course is a requisite for, and what those courses lead to in turn.

COM SCI 3117 more beyond

  • COM SCI 32Introduction to Computer Science II13 more beyond
    • COM SCI 33Introduction to Computer Organization7 more beyond
      • COM SCI 111Operating Systems Principlesanother path to it
    • COM SCI 35LSoftware Constructionanother path to it
    • LING 185AComputational Linguistics I2 more beyond
      • LING 185BComputational Linguistics II
    • COM SCI 111Operating Systems Principlesanother path to it
    • COM SCI C121Probabilistic Models in Computational Genomics
    • BIOENGR 223ABiomedical Data Sciences Research Laboratory I1 more beyond
    • COM SCI C122Algorithms in Computational Genomics
    • COM SCI C124Machine Learning Applications in Genetics
  • COM SCI 35LSoftware Construction
    • COM SCI 111Operating Systems Principles9 more beyond
      • COM SCI 112Modeling Uncertainty in Information Systems4 more beyond
    • COM SCI 131Programming Languages8 more beyond
      • COM SCI 130Software Engineering2 more beyond
    • COM SCI 162Natural Language Processing
      • COM SCI 163Deep Learning for Computer Visionanother path to it
  • ASTR 142Data and Computation in Astrophysics
  • COM SCI M148Introduction to Data Science
    • COM SCI 163Deep Learning for Computer Vision
  • COM SCI M184Introduction to Computational and Systems Biology
  • BIOENGR 175Machine Learning and Data-Driven Modeling in Bioengineering
  • COM SCI 205Health Analytics
  • C&EE 103Applied Numerical Computing and Modeling in Civil and Environmental Engineering
  • C&S BIO 100Data Science and Statistics for Life Scientists
  • CH ENGR M148Introduction to Data Science
  • COMM 153Introduction to Data Science
  • COMPTNG 10BIntermediate Programming2 more beyond
    • COM SCI M148Introduction to Data Scienceanother path to it
    • PSYCH 186ACognitive Science Laboratory: Introduction to Theory and Simulation
    • CH ENGR M148Introduction to Data Scienceanother path to it
    • COMM 153Introduction to Data Scienceanother path to it
    • COMPTNG 10CAdvanced Programming8 more beyond
    • EC ENGR M148Introduction to Data Science
    • PSYCH 186BCognitive Science Laboratory: Neural Networks
    • COMM 155Artificial Intelligence and New Media
  • EC ENGR 133AApplied Numerical Computing
    • EC ENGR 133BSimulation, Optimization, and Data Analysis
    • EC ENGR C147ANeural Networks and Deep Learning1 more beyond
      • EC ENGR C147BNeural Networks and Deep Learning II
    • EC ENGR C247ANeural Networks and Deep Learning1 more beyond
  • MATH 151AApplied Numerical Methods3 more beyond
    • MATH 151BApplied Numerical Methods3 more beyond
      • MATH 269AAdvanced Numerical Analysisanother path to it
    • MATH 151BHNumerical Analysis Part 2 (Honors)
    • MATH 269AAdvanced Numerical Analysis
    • MATH 269BAdvanced Numerical Analysis
    • MATH 269CAdvanced Numerical Analysis
    • MATH 270AMathematical Aspects of Scientific Computing: Techniques of Scientific Computing
    • MATH 270BMathematical Aspects of Scientific Computing: Computational Linear Algebra1 more beyond
    • MATH 270CMathematical Aspects of Scientific Computing: Computational Linear Algebra1 more beyond
  • MECH&AE 107Introduction to Modeling and Analysis of Dynamic Systems
    • MECH&AE 169AIntroduction to Mechanical Vibrations
      • MECH&AE 255AAdvanced Dynamics1 more beyond
    • MECH&AE 171AIntroduction to Feedback and Control Systems: Dynamic Systems Control I15 more beyond
      • COM SCI M296AAdvanced Modeling Methodology for Dynamic Biomedical Systems1 more beyond
    • MECH&AE C175AProbability and Stochastic Processes in Dynamical Systems
    • MECH&AE C271AProbability and Stochastic Processes in Dynamical Systems1 more beyond
    • MECH&AE 279Dynamics and Control of Biological Oscillations

36 courses list this as a requisite. Showing 60 courses over 3 levels; the branches marked with a count carry on past it. Every course here opens its own tree.

  • Fall 2025
  • Winter 2026
  • Spring 2026
  • Summer 2026
  • Fall 2026
  • Winter 2027
  • Spring 2027

Scheduled, not typical — from UCLA’s Schedule of Classes, which publishes Fall 2025 through Spring 2027 and nothing before it.