Special Topics in Technology
Course may be repeated for credit as topics in technology vary. One to four hours of lecture per week; two to six hours of lecture per week for seven weeks. Specific topics, hours, and credit may vary from section to section and year to year.
In this course you’ll learn industry-standard agile and lean software development techniques such as test-driven development, refactoring, pair programming, and specification through example. You’ll also learn good object-oriented programming style. We’ll cover the theory and principles behind agile engineering practices, such as continuous integration and continuous delivery.
This class will be taught in a flip-the-classroom format, with students programming in class. We'll use the Java programming language. Students need not be expert programmers, but should be enthusiastic about learning to program. Please come to class with laptops, and install IntelliJ IDEA community edition. Students signing up should be comfortable writing simple programs in Java (or a Java-like language such as C#).
Biosensory computing is the multidisciplinary study and development of systems and practices that sense, represent, communicate, and interpret biological signals from the body.
Biosignals are expansive in scope, and can enable a diverse range of biosensory computing applications. They can include physiological (e.g., ECG/PPG, EDA, EEG) and kinesthetic signals (e.g., accelerometry, eye gaze, facial expressions). Many inferences can be drawn about the person from these signals, including their activities, emotional and mental states, health, and even their identities, intentions, memories, and thoughts.
While generated by the person, biosensory data have important characteristics that distinguish them from other types of user-generated data. They are intimate yet leakable, precise yet ambiguous, familiar yet unverifiable, and have limited controllability. Therefore, responsible stewardship of biosensory data must be in place before the full potential of biosensory computing can be realized.
This multidisciplinary course will explore the intellectual foundations and research advances in biosensory computing. We will survey the range of biosensing modalities and technologies, study temporal and spectral data analysis and visualization techniques, interrogate the designs of novel biosensing applications, and tackle issues of user privacy and research ethics. Students signing up for the 3-unit option will continue in the second half of the semester with a student-led research project.
This course introduces the theoretical and practical aspects of computer vision, covering both classical and state of the art deep-learning based approaches. This course covers everything from the basics of the image formation process in digital cameras and biological systems, through a mathematical and practical treatment of basic image processing, space/frequency representations, classical computer vision techniques for making 3D measurements from images, and modern deep-learning based techniques for image classification and recognition.
This course will explore what HCI knowledge and methods can bring to the study, design, and evaluation of AI systems with a particular emphasis on the human, social, and ethical impact of those systems. Students will read papers and engage in discussions around the three main components of a human-centered design process as it relates to an AI system:
- needs assessment,
- design and development, and
Following these three main design phases, students will learn what needs assessment might look like for designing AI systems, how those systems might be prototyped, and what HCI methods for real-world evaluation can teach us about evaluating AI systems in their context of use. The course will also discuss challenges that are unique to AI systems, such as understanding and communicating technical capabilities and recognizing and recovering from errors.
This is a research-oriented graduate class on human-centered aspects in data management and analysis across the end-to-end data science/AI lifecycle. The class will entail reading and discussion of classical and modern research papers in this space. As part of this class, students will undertake a research project in this space. Students taking the class should have taken a database or data engineering class, at the level of INFO 258 / DATA 101 / COMPSCI 186, and/or have experience working with database or data engineering tools.
This course surveys privacy mechanisms applicable to systems engineering, with a particular focus on the inference threat arising due to advancements in artificial intelligence and machine learning. We will briefly discuss the history of privacy and compare two major examples of general legal frameworks for privacy from the United States and the European Union. We then survey three design frameworks of privacy that may be used to guide the design of privacy-aware information systems. Finally, we survey threat-specific technical privacy frameworks and discuss their applicability in different settings, including statistical privacy with randomized responses, anonymization techniques, semantic privacy models, and technical privacy mechanisms.