Computing@UCLA

Career, major, and course guides to studying the computing fields at UCLA

Guide to Computing Courses in the Math Department at UCLA

Mathematics is the backbone of computing, and the two disciplines are inseparably intertwined. Many, if not all, areas of computer science rely heavily on mathematical concepts and principles. The Mathematics department at UCLA offers a number of courses that are deeply intertwined with the computing disciplines. The courses in this guide are primarily of interest to students whose major is housed in the Math department (including Math of Computation, Applied Math, and Data Theory), but this guide can also be helpful for students looking to minor in Mathematics or Computer Science majors with a declared Sci-Tech area in Math.

Table of Contents

Discrete Math and Theory of Computation

Most of the courses in this category focus on theoretical models of computation, which includes algorithms for solving problems and the discrete matematical structures that form the basis of data structures in programming languages. This area is most relevant to students who are interested in theoretical computer science, especially Math majors wishing to pursue graduate study in theoretical computer science. However, some courses in this field (discrete structures and algorithms) are the most important preparation for software engineers to pass interviews.

MATH 61 — Introduction to Discrete Structures

The only lower-division course in this area, Discrete Structures teaches the theory of many of the matematical structures that underlie common data structures, including sets, graphs, and trees. Make no mistake - this is not a replacement for a course in data structures, and it contains no coding components, but it does reinforce knowledge of data structures.

Depending on the course offering, it may also introduce some basic algorithms on graphs and trees. Knowledge of discrete structures is critical to understanding advanced algorithms (which are often implemented on or using discrete structures), which is why MATH 61 is a prerequisite for any algorithms course.

MATH 182 — Algorithms

This is, straightforwardly, an algorithms course that is nearly identical to the Computer Science department’s algorithms course, COM SCI 180. It covers greedy algorithms, divide-and-conquer algorithms, and dynamic programming, along with analysis and complexity measures. MATH 182 is probably the most directly related to computing of any course offered in the Math department, and everyone interested in pursuing a career in a computing field should consider taking either MATH 182 or COM SCI 180.

MATH 114C — Computability Theory

MATH 114C is a mathematical approach to computability theory that complements the Computer Science department’s course on Theory of Computation, COM SCI 181. While there is some overlap between the courses, COM SCI 181 primarily focuses on Automata Theory. The difference may be enough to consider taking both courses, especially since MATH 114C is one of the only undergraduate courses offered at UCLA that covers topics in computability theory. Unlike the study of algorithms, computability theory does not have many practical applications that most students are likely to encounter, so this course is mostly for those interested in theoretical computer science topics.

MATH 114L — Mathematical Logic

Mathematical logic is closely related to computability theory. MATH 114L may be one of the least closely related courses on the list, but it does have applications to computer science in artificial intelligence and in formal proofs. In the Computer Science department, formal logic is encountered in COM SCI 161 — Artificial Intelligence. Early approaches to AI focused on formal logic as a path to achieving reasoning and problem solving. Knowledge representation structures (e.g. semantic nets and ontologies) may occasionally be encountered in computer systems, but knowledge-based systems and automated reasoning are not in widespread use and the field of artificial intelligence has moved on to favor machine learning—based approaches over the symbolic approaches that utilize mathematical logic (see below for courses relevant to machine learning).

MATH M114S — Introduction to Set Theory

Both this course and MATH 180 below are follow-ons to MATH 61 that cover discrete structures in more detail. The content of the course is extremely theory-based and far beyond what is necessary to understand data structures and algorithms at the undergraduate level, but it may be useful for anyone wishing to pursue graduate study in theoretical computer science or for motivated students who are deeply interested in the philosophical foundations of theoretical computer science.

MATH 180 — Graph Theory

Both this course and MATH M114S above are follow-ons to MATH 61 that cover discrete structures in more detail. The content of the course is extremely theory-based and far beyond what is necessary to understand data structures and algorithms at the undergraduate level, but it may be useful for anyone wishing to pursue graduate study in theoretical computer science or for motivated students who are deeply interested in the philosophical foundations of theoretical computer science.

Probability and Statistics

Coming soon!

Linear Algebra and Machine Learning

Coming soon!