CMPSC 291A Scalable Internet Services

This course explores advanced topics in highly scalable Internet services and their underlying systems’ architecture. Software today is primarily delivered as a service: accessible globally via web browsers and mobile applications, and backed by millions of servers. Modern web frameworks (e.g., Ruby on Rails, Django, and Express), and continuous improvements to cloud providers (e.g., Amazon Web Services, Google Cloud Platform, and Microsoft Azure) make it increasingly easier to build and deploy these systems.

CMPSC 292F Machine Learning on Graphs

Machine learning on graphs (static/dynamic, attributed, undirected/directed, single/ensemble) has emerged as an important research topic that finds applications in many domains including social networks, infrastructure design and maintenance, drug discovery, brain networks, and material design. This course will discuss recent advances in machine learning on graphs including neural network architectures and methods to encode graphs into low-dimensional spaces to facilitate machine learning.

CMPSC 291I Future User Interfaces

In this course, we will examine upcoming user interface technologies that will impact how we interact with our devices and digital content in the future. These include: immersive technologies (augmented and virtual reality), physiological interfaces (e.g., brain and body interfaces), wearable computing (e.g., devices both for reading and writing data to the user's body), multi-sensory and multimodal interactions in mixed, augmented and virtual realities (e.g., spatial audio, body movement), haptics (e.g., force feedback, sensing weight, feeling textures), and others.

CMPSC 293S Information Retrieval and Web Search

This course covers advanced topics on information retrieval, web search, and related scalable information systems. The content to be focused includes search engines, indexing, retrieval, and ranking, and support for large-scale online search services/data processing. Recent papers in top conferences will be reviewed, and issues in relevance, efficiency, and scalability will be studied.

CMPSC 190N Machine Learning for Networking

This course will focus on learning problems for networking, i.e., how network protocols or network operators make their decisions at different granularities (e.g., network, TCP, application, etc.) to keep networks safe and performant. How these decisions are made right now, and how one can replace existing heuristics-based decision-making with ML-based learning models. We will learn about the challenges of applying machine learning to learning problems in networking and how we can resolve them.

CMPSC 190B IoT Systems

The Internet of Things (IoT) embeds ordinary physical objects in our environment with digital intelligence -- via sensing, control, communications, and compute capabilities. As such, IoT advances are likely key drivers of the next computing revolution.  This course will teach IoT systems end-to-end, including the fundamentals of IoT devices, software architectures, communication protocols, security approaches, as well as the distributed, multi-tier (e.g. sensors, edge, and cloud) programming and deployment considerations needed to support emerging IoT applications.