290A - Combinatorial Methods and Algorithms
Sometimes techniques already available in one branch of science wait to be rediscovered in some disguise in another. This is particularly true for mathematics and computer science.
Sometimes techniques already available in one branch of science wait to be rediscovered in some disguise in another. This is particularly true for mathematics and computer science.
Deep learning is a phrase given to a current widely used class of methodologies for building Pattern Recognition and Machine Learning algorithms in Academia and Industry. Many of the deep learning techniques are from the field of Artificial Neural Networks (ANNs). This course will provide an overview of the history of ANN research and applications from the 1950s to the present, followed by in-depth discussions and demonstrations of widely used and useful algorithms at the current time.
This course cover a collection of research topics in computational algebra and number theory, as related to cryptography, cryptanalysis, security, and error-correcting codes. The students are expected to follow the course presentations, and return homework assignments. Additionally, each student is required to pick a particular area and write a short paper or presentation, covering the fundamentals of the area and describing possible open problems.
Topics
As bug detection techniques become more effective in eliminating flaws in software systems, attacks that rely on inherent space-time complexity of algorithms used for building software systems are gaining prominence. If an adversary can generate arbitrary inputs that induce behaviors with expensive space-time resource utilization at the defender's end, in addition to mounting denial-of-service attacks, the adversary can also use the same inputs to facilitate side-channel attacks in order to infer some secret from the observed system behavior.
This seminar will explore advanced techniques in vulnerability analysis and exploitation. Participants should have very good programming skills (especially in Python) and good knowledge of binary analysis and operating systems.
This seminar will study recent papers on large-scale cloud/cluster-computing platforms and storage systems, and system support for mining and search.
This seminar will study recent papers on security issues and algorithms for information retrieval and search.
In this course, we will study specific machine learning as practical data mining and classification tools to be applied in the general areas of distributed systems, networking, and security. We will start by introducing broadly machine learning classifiers, and then study (by reading technical papers) how a variety of ML tools have been applied in these areas. The course is meant to be an interactive, discussion based class, where students will read and present papers.
Mixed and Augmented Reality, an active research field since the 1990s, has recently gained significant popularity because of the possibility of being implemented on smart phones. Many people see it as one of the most important computer interfaces in the future of computing. Augmented Reality is the concept of overlaying computer-generated information on top of the physical world. Mixed Reality is a bit broader and subsumes the fields of Augmented Reality, Augmented Virtuality, and Virtual Reality. This class provides a hands-on introduction to these novel interface technologies.
CS 290A is the first in a new group of courses we are introducing in the broad area of network science research. This course will focus on fundamental theory and algorithms for working with Big Data and networks. Topics covered will include graph embedding, spanning trees, network flow, random graph models, network formation and evolution, structure and attribute-based search, clustering, partitioning, and distributed dynamical systems.