UCSD CSE is a computer science and engineering course at UC San Diego School of Engineering Department. UCSD is a good school when it comes to computer science. Getting into UCSD Computer Science is super competitive. You need an average GPA of 4.0 to get in.

UCSD Computer Science department has strong undergraduate and graduate programs.

In 2018, the Department of Computer Science and Engineering (CSE) ranked 11th in computer systems; 13th in programming languages; 14th in computer science theory; and 16th in the nation overall according to US News and World Report Ranking of Best Engineering Schools.

If you’re here, I believe you’re already a CSE student. In this post, we’ll look at the various UCSD CSE courses, what to expect, and their prerequisites.

Table of Contents

Contents

- 1 UCSD CSE 100: Advanced data structures
- 2 UCSD CSE 101: Design and analysis of algorithms
- 3 UCSD CSE 140: Components and design techniques for digital systems
- 4 UCSD CSE 120: Principles of computer operating systems
- 5 UCSD CSE 151 A: Introduction to machine learning
- 6 UCSD CSE 151 B: Deep learning
- 7 UCSD CSE 158: Recommender systems and web mining
- 8 UCSD CSE 103: A practical introduction to probability and statistics
- 9 UCSD CSE 105: Theory of computability
- 10 UCSD CSE 21: Mathematics for algorithms and system
- 11 UCSD CSE 130: Programming languages, principles and paradigms
- 12 UCSD CSE 150 A: Introduction to artificial intelligence, probabilistic reasoning, and decision-making
- 13 UCSD CSE 150 B: Introduction to artificial intelligence, search and reasoning

## UCSD CSE 100: Advanced data structures

UCSD CSE 100 is a course in high-performance data structures and supporting algorithms. It involves the use and implementation of data structures like (un)balanced trees, graphs, priority queues, and hash tables. Also, memory management, pointers, recursion.

Theoretical and practical performance analysis, both average case and amortized.

The course uses C++ and STL. Credit is not offered for both MATH 176 and CSE 100. It is equivalent to MATH 176.

**Recommended preparation**;

You need to have a background in C or C++ programming to take this course.

### CSE 100 prerequisites

CSE 12 and CSE 15L and CSE 21 or MATH 154 or MATH 184A and CSE 5A or CSE 30 or ECE 15 or MAE 9; restricted to undergraduates. Graduate students will be allowed as space permits.

## UCSD CSE 101: Design and analysis of algorithms

UCSD CSE 101 is a course on the design and analysis of efficient algorithms with an emphasis on non-numerical algorithms such as sorting, searching, pattern matching, and graph and network algorithms. It also involves measuring the complexity of algorithms, time, and storage.

### CSE 101 prerequisites

CSE 100 or MATH 176; restricted to undergraduates. Graduate students will be allowed as space permits.

**Related:**

UCSD Webreg Complete Guide

UCSD Academic Calendar: Important Dates and Deadlines

UCSD Canvas Guide

How to Access your Courses on UCSD Podcast

## UCSD CSE 140: Components and design techniques for digital systems

CSE 140 is an undergraduate course in Digital Design Techniques. It is usually taken together with CSE 140L (Digital Systems Laboratory).

In CSE 140, you’ll be involved in the design of Boolean logic and finite state machines; two-level, multilevel combinational logic design, combinational modules and modular networks, Mealy and Moore machines, analysis and synthesis of canonical forms, sequential modules.

### UCSD CSE 140 prerequisites

CSE 20 or MATH 15A or MATH 109 and CSE 30; CSE 140L must be taken concurrently; restricted to CS25, CS26, CS27, and EC26 majors. All other students will be allowed as space permits.

## UCSD CSE 120: Principles of computer operating systems

UCSD CSE 120 is based on basic functions of operating systems; basic kernel structure, concurrency, memory management, virtual memory, file systems, process scheduling, security, and protection.

### CSE 120 prerequisites

CSE 30 and CSE 101 and CSE 110; restricted to students within the CS25, CS26, CS27, and EC26 majors. All other students will be allowed as space permits.

## UCSD CSE 151 A: Introduction to machine learning

CSE 151A involves a broad introduction to machine learning. The topics include some topics in supervised learning, such as k-nearest neighbor classifiers, decision trees, boosting, and perceptrons; and topics in unsupervised learning, such as k-means and hierarchical clustering.

In addition to the actual algorithms, the course focuses on the principles behind the algorithms. Students may not receive credit for both CSE 151A and COGS 188, nor may they receive credit for both CSE 151A and CSE 151.

### CSE 151 A prerequisites

(CSE 12 or DSC 40B) and (CSE 15L or DSC 80) and (COGS 118D or CSE 103 or ECE 109 or ECON 120A or MATH 181A or MATH 183) and (MATH 18 or MATH 31AH) and (MATH 20C or MATH 31BH); restricted to students within the CS25, CS26, CS27, CS28, EC26, and DS25 majors. All other students will be allowed as space permits.

## UCSD CSE 151 B: Deep learning

Formerly CSE 154, this course covers the fundamentals of neural networks. The course has introduced linear regression, logistic regression, perceptrons, multilayer networks and back-propagation, convolutional neural networks, recurrent networks, and deep networks trained by reinforcement learning. Students may receive credit for one of the following: CSE 151B, CSE 154, or COGS 181.

### CSE 151B prerequisites

(MATH 20C or MATH 31BH) and (BENG 134 or COGS 118D or CSE 103 or ECE 109 or ECON 120A or MAE 108 or MATH 181A or MATH 183 or MATH 186); restricted to students with sophomore, junior, or senior standing within the CS25, CS26, CS27, CS28, EC26, and DS25 majors. All other students will be allowed as space permits.

## UCSD CSE 158: Recommender systems and web mining

CSE 158 involves current methods for data mining and predictive analytics. Emphasis is on studying real-world data sets, building working systems, and putting current ideas from machine learning research into practice.

### CSE 158 prerequisites

(CSE 12 or DSC 40B) and (CSE 15L or DSC 80) and (BENG 100 or BENG 134 or COGS 118D or CSE 103 or ECE 109 or ECON 120A or MATH 180A or MATH 181A or MATH 183 or MATH 186); restricted to CS25, CS26, CS27, CS28, EC26, and DS25 majors. All other students will be allowed as space permits.

## UCSD CSE 103: A practical introduction to probability and statistics

In this course, you will learn the foundation of probability and statistics.

- Distributions over the real line.
- Independence, expectation, conditional expectation, mean, variance.
- Hypothesis testing.
- Learning classifiers.
- Distributions over R^n, covariance matrix.
- Binomial, Poisson distributions.
- Chernoff bound.
- Entropy.
- Compression.
- Arithmetic coding.
- Maximal likelihood estimation.
- Bayesian estimation.

CSE Majors are required to take one class in Probability and Statistics which can be either this class or Math 183.

The main difference between this class and Math183 is its emphasis on applications of probability and statistics, and the use of jupyter notebooks for programming assignments.

CSE 103 is also not duplicate credit for ECE 109, ECON 120A.

### CSE 103 prerequisites

MATH 20A-B and MATH 184A or CSE 21 or MATH 154; restricted to CS25, CS26, CS27, and CS28 majors. Other students will be allowed as space permits.

## UCSD CSE 105: Theory of computability

CSE 105 is an introduction to the mathematical theory of computability; Formal languages; Finite automata and regular expression; Push-down automata and context-free languages; Computable or recursive functions: Turing machines, the halting problem. Undecidability; Credit not offered for both MATH 166 and CSE 105. It is equivalent to MATH 166.

### CSE 105 prerequisites

(CSE 12) and (CSE 15L) and (CSE 20 or MATH 109 or MATH 15A or MATH 31CH) and (CSE 21 or MATH 100A or MATH 103A or MATH 154 or MATH 184 or MATH 184A); restricted to students with sophomore, junior, or senior standing. Graduate students will be allowed as space permits.

## UCSD CSE 21: Mathematics for algorithms and system

This course provides an introduction to the discrete mathematical tools needed to analyze algorithms and systems; Enumerative combinatorics: basic counting principles, inclusion-exclusion, and generating functions; Matrix notation; Applied discrete probability; Finite automata.

### CSE 21 prerequisites

CSE 20 or MATH 15A; restricted to undergraduates. Graduate students will be allowed as space permits.

## UCSD CSE 130: Programming languages, principles and paradigms

Formerly CSE 173, UCSD CSE 130 is an introduction to programming languages and paradigms, the components that comprise them, and the principles of language design, all through the analysis and comparison of a variety of languages (e.g., Pascal, Ada, C++, PROLOG, ML).

It involves programming in most languages studied.

### CSE 130 prerequisites

CSE 12 and (CSE 100 or MATH 176) and (CSE 105 or MATH 166); restricted to students within the CS25, CS26, CS27, and EC26 majors. All other students will be allowed as space permits.

## UCSD CSE 150 A: Introduction to artificial intelligence, probabilistic reasoning, and decision-making

This class will introduce you to probabilistic models at the heart of modern artificial intelligence.

Specific topics covered include probabilistic methods for reasoning and decision-making under uncertainty; inference and learning in Bayesian networks; prediction and planning in Markov decision processes; applications to intelligent systems, speech and natural language processing, information retrieval, and robotics.

### CSE 150A prerequisites

(CSE 12 or DSC 40B) and (CSE 15L or DSC 80) and (COGS 118D or CSE 103 or ECE 109 or ECON 120A or MATH 180A or MATH 183) and (MATH 20A) and (MATH 18 or MATH 31AH); restricted to students within the CS25, CS26, CS27, CS28, EC26, and DS25 majors. All other students will be allowed as space permits.

## UCSD CSE 150 B: Introduction to artificial intelligence, search and reasoning

The course will introduce important ideas and algorithms in search and reasoning and demonstrate how they are used in practical AI applications.

Topics include A* search, adversarial search, Monte Carlo tree search, reinforcement learning, constraint solving and optimization, propositional and first-order reasoning.

### CSE 150B prerequisites

(CSE 12 or DSC 40B) and (CSE 15L or DSC 80) and (COGS 118D or CSE 103 or ECE 109 or ECON 120A or MATH 180A or MATH 183) and (CSE 100); restricted to students within the CS25, CS26, CS27, CS28, EC26, and DS25 majors. All other students will be allowed as space permits.

Find out more on the course catalog page.