Everything I Learned at UCSD

Last updated: 2020-08-25

(this article is incomplete)

I did my Computer Science M.S. at UC San Diego, specializing in artificial intelligence. I decided to pursue a Masters because I love learning and felt I could benefit from more knowledge in machine learning and AI.

Decided early on that I didn’t want to pursue a PhD. I feel a PhD is too specialized and too much of a sacrifice/commitment when I could be earning money applying what is already known. Research is an important and intellectually satisfying, don’t get me wrong, but it’s certainly not for everyone. I’ve heard of PhDs described as roller coaster - with very high highs and very low lows.

Anways, here are some of my takeaways from doing grad school at UCSD.


Fall 2018

CSE 219 - Design at Large (1 unit)

New societal challenges, cultural values, and technological opportunities are changing design—and vice versa. The seminar explores this increased scale, real-world engagement, and disruptive impact. Invited speakers from UC San Diego and beyond share cutting-edge research on interaction, design, and learning.

CSE 250A - Principles of Artificial Intelligence: Probabilistic Reasoning and Learning

Methods based on probability theory for reasoning and learning under uncertainty. Content may include directed and undirected probabilistic graphical models, exact and approximate inference, latent variables, expectation-maximization, hidden Markov models, Markov decision processes, applications to vision, robotics, speech, and/or text.

CSE 258 - Recommender Systems and Web Mining

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.

MUS 206 - Music Generation

In this seminar we will explore the use of machine learning and deep neural network technologies for creative purposes. Our focus will be on generative methods and their relevance to modeling of creative processes and cognition, with applications to style transfer and machine improvisation.

We will introduce python and TensorFlow, and use of GPU cluster for running deep learning algorithms. The models to be discussed include variable Markov models, auto encoders, convolution networks, GANS and more.

Winter 2019

CSE 221 - Operating Systems

Operating system structures, concurrent computation models, scheduling, synchronization mechanisms, address spaces, memory management protection and security, buffering, streams, data-copying reduction techniques, file systems, naming, caching, disk organization, mapped files, remote file systems, case studies of major operating systems.

CSE 250B - Principles of Artificial Intelligence: Learning Algorithms

Algorithms for supervised and unsupervised learning from data. Content may include maximum likelihood; log-linear models, including logistic regression and conditional random fields; nearest neighbor methods; kernel methods; decision trees; ensemble methods; optimization algorithms; topic models; neural networks; and backpropagation

Spring 2019

CSE 218 - Advanced Topics in Software Engineering

This course will cover a current topic in software engineering in depth. Topics in the past have included software tools, impacts of programming language design, and software system structure.

CSE 256 - Statistical Natural Language Processing

An introduction to modern statistical approaches to natural language processing: part of speech tagging, word sense disambiguation and parsing, using Markov models, hidden Markov models, and probabilistic context-free grammars.


Fall 2019

CSE 202 - Algorithm Design and Analysis

The basic techniques for the design and analysis of algorithms. Divide-and-conquer, dynamic programming, data structures, graph search, algebraic problems, randomized algorithms, lower bounds, probabilistic analysis, parallel algorithms

CSE 252A - Computer Vision I

Comprehensive introduction to computer vision providing broad coverage including low-level vision (image formation, photometry, color, image feature detection), inferring 3-D properties from images (shape-from shading, stereo vision, motion interpretation) and object recognition.

Winter 2020

CSE 253

Probability density estimation, perceptrons, multilayer neural networks, radial basis function networks, support vector machines, error functions, data preprocessing. Possible topics include unsupervised learning methods, recurrent networks, and mathematical learning theory.

Spring 2020

CSE 291E - Deep Learning for Sequence

Deep learning has had an enormous impact and has been especially effective for images (ConvNets) and sequences (RNN’s). This course focusses on deep learning for sequence processing and their application including video understanding, language translation, speech recognition, image captioning, OCR, and financial market prediction. After creating a foundation in common architectures (RNN, LSTM, GRU, Attention) and their training, we will dig into recently published papers that highlight methods and applications of deep learning for sequence processing. Each paper will be presented by a student, and all students are expected to participate in a critical discussion of these papers. There will be one or two programming assignments and a full quarter project (individual or small group).

CSE 291D - Unsupervised Learning

A broad overview of unsupervised learning, with emphasis on basic principles and on algorithmic and statistical guarantees.