CSE 190 - TOPICS IN COMPUTER SCIENCE AND ENGINEERING (2023-2024)

Updated: March 22nd, 2024

CSE 190 - Topics in Computer Science and Engineering

CSE 190 is a topics of special interest in Computer Science and Engineering course. Topics may vary from quarter to quarter.

Prerequisites also vary per course/per instructor. Department approval required.

Units: 4

CSE 190 is typically offered every quarter as staffing allows.

CSE 190 may be repeated for credit a maximum of 3 times (maximum of 12 units; assuming courses taken for a different topic)

A maximum of one CSE 190 may enrolled/waitlisted per quarter

Note: For the Fall 2023 Computer Science (CS26) curriculum, all CSE 190 courses will be labeled with a corresponding "Tag(s)" (Systems, Theory/Abstraction, and/or Applications of Computing). CSE 190 offerings before Fall 2023 are untagged but may be used as an Open CSE Elective for Computer Science majors who have changed to the FA23 CS26 curriculum.

____________________________________________________________________________

Summer Session 1 and 2

CSE 190 : Machine Learning for Music and Audio with Shlomo Dubnov

Prerequisite: MATH 18 AND MATH 20B AND (CSE 103 or ECON 120A or MATH 183 or ECE 109 or MATH 180A or MATH 181A)

CS Curriculum Tag(s): Applications

To enroll: Submit course clearance request via Enrollment Authorization System (EASy)

Description: The course covers topics of Machine Learning dealing with music and audio signals, including basic concepts in digital signal processing, symbolic music / MIDI, audio analysis and feature extraction. Statistical models include Markov, autoregressive, and generative neural networks for representation learning with applications to music and sound generation. There will be several short programming assignments that correspond to the lecture materials. Students are given an option to choose between a more advanced final programming assignment or performing a small group final project of their choice. Prior musical knowledge is not required but would be an advantage. The class material follow selected chapters from https://www.routledge.com/Deep-and-Shallow-Machine-Learning-in-Music-and-Audio/Dubnov-Greer/p/book/9781032133911

____________________________________________________________________________

Spring 2024

CSE 190 A00: Introduction to Quantum Computing with Daniel Grier

Prerequisite: A previous course in linear algebra is required (Math 18, Math 20F, or Math 31AH). All previous math experience will be very helpful, especially discrete math (Math 15A, CSE 20), probability (Math 11, CSE 21), and complex numbers. No prerequisite knowledge of physics or quantum computation is required. Class is unofficially scheduled with MATH 152 A01. Students will not receive credit for both classes. 

CS Curriculum Tag(s): Theory/Abstraction

To enroll: Submit course clearance request via Enrollment Authorization System (EASy)

Description: This is an advanced undergraduate course focusing on the mathematical theory of quantum computers. The course will start with a general introduction to quantum computers: How do we mathematically specify a quantum state? What kinds of operations can we apply to a quantum state? How can we measure quantum states to solve computational problems? After having developed these basics, we will learn how to construct and analyze quantum algorithms, including those that have generated some of the most excitement about the future of quantum computing.
___________________

CSE 190 B00: Human Robot Interaction with Laurel Riek

Prerequisite: Students should have a deep interest in human-focused research questions and human-centered technology development. Students should be comfortable reading and discussing scientific papers. Additionally,  this class requires familiarity with programming, data structures, and basic software engineering (e.g., CSE 8A, CSE 100, CSE 110). Students should be comfortable decomposing a complex problem, selecting suitable algorithms, and implementing them. Prior exposure to robotics is helpful, but not required. Experience using unix-like operating systems is also a plus. Class is unofficially co-scheduled with CSE 276B A00. Students will not receive credit for both classes. 

CS Curriculum Tag(s): Applications of Computing

To enroll: Please complete this form to be considered for enrollment: https://forms.gle/TWxBaiMRNKKtd1pa8

Description: Robots are entering our world - in homes, hospitals, roadways, schools, and workplaces. How do we make them functional, useful, and acceptable? This course will explore key computational, scientific, and design concepts in human-robot interaction (HRI). We will review foundational and recent papers in the field, and engage in projects with physical robots.

___________________

CSE 190 C00: Working with Large Code Bases with Anshul Shah

Prerequisite: CSE15L, Recommended Prerequisite: CSE110 (or co-requisite)

CS Curriculum Tag(s): Systems

To enroll: Submit course clearance request via Enrollment Authorization System (EASy)

Description: A vital skill for a successful software engineer is the ability to work with large, pre-existing code bases. Often, in industry or research projects, you may be tasked with fixing a bug, adding a small feature, or implementing some major changes in pre-existing code bases. As a result, learning how to effectively navigate, understand, and contribute to a large code base can help you be prepared for the demands of a software engineering job. In this course, students will learn about the processes and tools for working with large code bases. We will focus on program comprehension techniques (such as code navigation, diagramming, using a debugger, etc.) and code management workflows (code review, Git, task managers, etc.) used when working with large code bases. By the end of the course, students will gain experience contributing to a large code base and may even contribute to an open source project (if they wish to do so). This course is recommended for students *without* internship experience, although anyone is welcome to register. 

__________________

CSE 190 D00: Fine-grained Complexity and Algorithm Design with Barna Saha and Russel Impagliazzo

Prerequisite: CSE 101 (CSE 105 recommended but not required)

CS Curriculum Tag(s): Theory/Abstraction

To enroll: Submit course clearance request via Enrollment Authorization System (EASy)

Description: How do we know when we have found the best algorithm?  Recently, researchers have found ways of answering this question based on a few widely believed conjectures about very simple problems, such as how hard it is to find triangles in graphs or find two numbers in a list whose sum is also in the list.  From simple beginnings, fine-grained complexity has rapidly grown to include connections to diverse topics such as computational economics, proofs of work (used in block-chain technology) and dynamic algorithms.  It is still a young area, and it is possible for a student with only the basics in CS theory to reach the ``research frontier'' in a single course, which is what this class is intended to do.  The instructors will present some of the basic ideas of fine-grained complexity in the first half of the class, after which the remainder of the class will be student presentations of recent research. 

____________________________________________________________________________

Winter 2024

CSE 190 A00: Quantum Cryptography with Qipeng Liu

Prerequisite: MATH 18 or MATH 20F or MATH 31AH or MATH 102 or MATH 202 or MATH 210B (CSE 105 recommended)

CS Curriculum Tag(s): Theory/Abstraction

To enroll: Submit course clearance request via Enrollment Authorization System (EASy)

Description: No quantum mechanics or quantum computation is needed, but you are assumed to be very familiar with linear algebra (vector space, eigenvalues/ eigenvectors...) and theory of computation (especially circuit models). In this course, we will together explore how quantum computers significantly change the landscape of modern cryptography but also how cryptography helps find and forward many important concepts in quantum computing. We will spend half of the quarter on the basis of quantum computing and then switch to its impact on cryptography. These include but are not limited to breaking the famous RSA cryptosystem, proof of quantumness, quantum money, position verification and etc.

____________________________________________________________________________

Fall 2023

CSE 190 A00: Programmers are People Too: Research Methods for User-Centered Programming Language Design with Michael Coblenz

Prerequisite: Recommended but not required: CSE 130. 

CS Curriculum Tag(s): Applications of computing 

To enroll: Please complete this form to be considered for enrollment: https://forms.gle/AftdMMPrF3pihGCt9

Description: Programmers of all kinds express their ideas using programming languages. Unfortunately, languages can be hard to use correctly, resulting in lengthy development times and buggy software. How can these languages be designed to make programmers as effective as possible?

In this course, we will learn techniques to analyze and improve the usability of programming languages. Students will apply these techniques to languages of current and historical interest, and in the process, expand their knowledge of different ways to design languages. This course is intended as preparation for conducting independent research on the usability of programming languages, and will include homework assignments as well as a project.

___________________

CSE 190 B00: Post-Relational Data Models with Alin Deutsch

Prerequisite: CSE132A or equivalent

CS Curriculum Tag(s): Applications of computing 

To enroll: Submit course clearance request via Enrollment Authorization System (EASy)

Description: The course surveys a wide range of post-relational data models and high-level query languages facing modern data scientists. 

These include graph database models and query languages in their various incarnations, such as XML and its standard query languages XPath and XQuery;  JSON dialects and their query languages such as Amazon's PartiQL, Spark's SparkSQL, MongoDB's query language, etc.;  RDF and Semantic Web data with the SparQL query language; graph databases (neo4j's graph data model and the Cypher query language, the upcoming GQL standard, etc.). 

The course emphasizes the common ideas across these models and languages, connecting them to their roots in object-oriented and SQL databases. Attendants will be prepared to face any new data model by learning how to classify its primitives along syntax-transcendent dimensions. They will also acquire practical data modeling and query programming skills required by today's data scientists. 

___________________

CSE 190 C00: Algorithms and Systems for Biomolecular Big Data with Professor Nuno Bandeira

Prerequisite: None

CS Curriculum Tag(s): Applications of Computing

To enroll: Submit course clearance request via Enrollment Authorization System (EASy)

Description: Computational analysis of massive volumes of data holds the potential to transform society. However, the computational translation of data into knowledge requires more than just data analysis algorithms – it also requires proper matching of data to knowledge for interpretation of the data, testing pre-existing knowledge and detecting new discoveries. We will study these concepts in the context of the longest-running (and arguably most important) human quest for knowledge of vital importance: the use of biomolecular big data to study human health and disease. With the sequencing of the genome and subsequent identification of the list of parts (i.e., genes and their protein products), there is renewed emphasis on understanding the many roles of the protein gene products using automated high-throughput approaches. The last few years have thus seen tremendous improvement in the quality and quantity of available data, as well as the realization that advanced algorithms and big data crowdsourced platforms are critical to the success of this technology. This course will cover the statistical, algorithmic and systems foundations of the various computational challenges arising from the need to match such data to related knowledge bases, with a special emphasis on investigations of cancer and infectious diseases (including the SARS-CoV-2/COVID19 pandemic).  In addition, we will also cover data science aspects of how these algorithms are integrated with global big data repositories and how these support communities of experts in distributed collaborative annotation of biomolecular ‘living data’.

___________________

CSE 190 E00: Wireless Embedded Systems with Professor Aaron Schulman (aka
Aaron Shalev)

Prerequisite: CSE 30 (CSE 120 recommended)

CS Curriculum Tag(s): Systems

To enroll: Submit course clearance request via Enrollment Authorization System (EASy)

Description: Wireless embedded systems bridge our physical world with powerful digital control systems and cloud data analytics. Applications range from medical devices such as Bluetooth-enabled blood glucose meters, to payment systems such as Near-Field Communication-based credit cards. In this class, students will learn about how an embedded system works from the ground up. The lectures will focus on the key enabling components of embedded systems, including: Clocks, GPIO, Interrupts, Busses, Power management, ADC/DAC, DMA, Storage, and Wireless communication. The goal of the class is to familiarize the students with these components so that they feel comfortable working on a team that is building a device that incorporates a wireless embedded system.