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

Updated: February 20, 2023

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

Summer 2023

CSE 190 A00: 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) or instructor approval. Programming ability in Python required. Musical skills are not required but would be an advantage.

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, MIDI, audio analysis and feature extraction, temporal models including Markov and autoregressive models, and generative neural networks representation learning with applications to automatic music generation and sound synthesis. 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.

Spring 2023

CSE 190 A00: Working with Large Code Bases with Professor Gerald (Jerry) Soosairaj

Prerequisite: CSE 110 (Software Engineering) **CSE 110 can also be taken concurrently with this course

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

Description: A vital skill to be a successful software engineer is the ability to work with large 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, the ability to effectively navigate, understand, and contribute to a large code base can help one to be prepared for the demands of working a software engineering job. In this course, students will learn about the processes, techniques, and tools to work with large code bases. For example, students will learn how to navigate between different files (and functions), use documentation and other resources (e.g., Stack Overflow), and use built-in IDE features to understand code in an effective manner. By the end of the course, students will work on a large, open-source code base and may even contribute to the open source project (if they wish to do so).

Winter 2023

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

Prerequisite(s): None

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’.

Fall 2022

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

Prerequisite: CSE 30 (CSE 120 recommended)

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, Amplifiers, Regulators, Power supplies, 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.

---------------------------------------------------------------------------------------------------------------------

CSE 190 B00: Human-AI Interaction with Kristen Vaccaro

Prerequisite: No course prerequisites. 

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

Description: This course provides an introduction to harnessing the power of AI so that it benefits people and communities. Topics will include: agency and initiative, fairness and bias, transparency and explainability, confidence and errors, and privacy, ethics, and trust. Students will build a number of interactive technologies powered by AI, gain practical experience with what makes them more or less usable, and learn to evaluate their impact on individuals and communities. Students will learn to think critically (but also optimistically) about what AI systems can do and how they should be integrated into society.

---------------------------------------------------------------------------------------------------------------------

CSE 190 C00: Design and Deployment of Internet of Things Devices with Pat Pannuto

Prerequisites: CSE110 and CSE101. Students are expected to be comfortable with programming and building project using the C language. Some background in networking and signals & systems (more the former than the latter) will be helpful, but is not required, and the course will cover any required knowledge.

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

Description: This course looks at what is required to make real-world Internet of Things(IoT) devices. It will be a mixture of lecture and lab components, with weekly hands-on activities to build and deploy applications; this will culminate in a project deploying hardware around the campus environment. We will act as IoT system designers and learn how to choose and how to use the wide array of wireless technologies. Specifically, we will look at WiFi, Classic Bluetooth, Bluetooth Low Energy, IEEE 802.15.4, 2g/3g/4g cellular, LTE-M, NB-IoT, LoRa, SigFox, and some time with more esoteric choices, such as Visible Light Communication (VLC), Infrared Communication (IR), Ultrasonic, and boutique RF such as wake-up radios and backscatter. Persons finishing this course should be well-suited for work in real-world IoT systems upon completion.