New Course Announcements
CSE Faculty: Submit new course information here.
Winter 2023: Machine Learning Theory
When do machine learning algorithms work and why? How do we formally characterize what it means to learn from data? This course will study the theoretical foundations of machine learning. Tentative topics include generalization, optimization, deep learning, online learning and bandits, and unsupervised learning.
Winter 2023: Applied Machine Learning for Modeling Human Behavior
Machine learning, with a focus on human behavior, across multiple modalities including speech and text. Teams complete projects based primarily on their individual interests centered on modeling an aspect of human behavior. Prior experience with speech/language or other data modeling is not needed.
Winter 2023: CSE Seminar
Winter 2023: Data Centric Systems
Winter 2023: Human-AI Interaction & Systems
Human intelligence and artificial intelligence (AI) are intertwined, co-evolving and complementary. This course explores how to combine the complementary strengths of humans and AI to design intelligent interactive systems that are ethical, usable, and useful. We will discuss topics including ways to facilitate humans to interact with AI, systems that combine human and AI to solve complex challenges, crowdsourcing and human computation, explainable AI, and AI fairness and auditing.
Winter 2023: Introduction to the Social Consequences of Computing
Computing is now used in every facet of life affecting countless people, including making policy decisions about people in lending, policing, criminal justice, admissions, advertising, and hiring. In doing so, the process of computing and algorithm design now involves understanding the role of computing in society.
This class will introduce you to the ways in which applications of computing affect societal institutions and how these social consequences produce questions about how to conceptualize, critique, and ensure our all-too-human values in computing. To accomplish this, we will explore computing, particularly artificial intelligence (AI) and machine learning, including exploring the role of AI in everything from personalization to surveillance to online speech. We will critically examine the philosophical and sociological underpinnings of these values and the strategies commonly used to promote them, and seek to connect these conceptualizations to the emerging algorithmic tools proposed for promoting those values. In order to practice reasoning through these problems, this class will feature programming in Python. No previous programming experience in Python is needed.
Winter 2023: Action and Perception
In this graduate-level seminar course, we will study research papers on the development of visual, audio, and tactile perception and body control in humans, in comparison with the latest machine learning methods in computer vision and robotics, on tasks such as ocular motor control, reaching, grasping, manipulation, locomotion etc.More info
Winter 2023: Extended Reality and Society
From pediatric medical care, advanced manufacturing, and commerce to film analysis, first-responder training, and unconscious bias training, the fledgling, immersive field of extended reality may take us far beyond the realm of traditional video games and entertainment, and into the realm of diverse social impact.
“EECS 498 : Extended Reality and Society” is a programming-intensive senior capstone / MDE course that empowers students with the knowledge and experience to…
– Implement medium-sized virtual and augmented reality experiences using industry-standard techniques and technologies (unity / unreal).
– Design socially-conscious, empowering user experiences that engage diverse audiences.
– Contribute to cultural discourse on the hopes, concerns, and implications of an XR-oriented future.
– Carry out user testing and employ feedback in an iterative design / development process.
– Work efficiently in teams of 2-4 using agile production methods and software (Jira)
Students will conclude the course with at least three significant, socially-focused XR projects in their public portfolios.
Winter 2023: Privacy Enhancing Technologies (PETS)
This course explores the latest advances in privacy-enhancing technologies (PETs).More info (pdf)
Winter 2023: Data Centric Systems
This special topics course will discuss recent advances and new directions that are being pursued to design data-centric computing systems.More info (pdf)
Winter 2023: Quantum Electromagnetics
This course will introduce students to the quantum theory of electromagnetic radiation, matter and their interactions, which underpins all new quantum technologies.More info (pdf)
Winter 2023: Algorithms for Data Science
This course will introduce algorithmic and theoretical aspects of data science. With the emergence of machine learning and data science, as well as the ever-increasing data sizes, providing theoretical foundations for these areas will become increasingly important. The course will cover several important algorithms in data science and see how their performances can be analyzed. While fundamental ideas covered in EECS 376 (e.g., design and analysis of algorithms) will be still important, some topics will introduce new concepts and ideas, including randomized dimensionality reduction, sketching algorithms, and algorithms for continuous optimization.More info
Winter 2023: Formal Verification of Hardware and Software
This course explores the latest advances in automated proof methods for checking whether or not certain properties hold under all possible executions of a complex hardware or software system. Specifically, we focus on the class of “control-centric” properties, namely those properties that are weakly-dependent on the data state of the system.More info (pdf)
Fall 2022: Machine Learning Basics for Optics and Photonics
Please see flyer.More info (pdf)
Fall 2022: ENGR 490 Designing Your Engineering Future
ENGR 490.004 and 490.005 meet together for the first seven weeks of the semester. Then, ENGR 490.005 continues to the end of the semester. * Indicates information specific to ENGR 490.005.
As graduation approaches, you have engaged in a wealth of experiences and collected a bounty of stories. As you move forward to new experiences, you may have many questions about your future: What career do I want? What lifestyle? What jobs should I apply for? Accept? Should I attend graduate school? Am I an effective engineer?
This course will help you leverage your past experiences to create and use tools that will help you answer questions about your personal and professional futures. You’ll create a set of guiding principles and a professional statement and begin a vision for your future. You’ll then apply your principles and vision to make challenging decisions and create professional documents that will be useful in your near future. Throughout this course, you’ll use a set of competencies and collaborate with a group of peers and mentors from academia and industry alike.
* Then, you’ll develop and apply a project to meet your personal and professional goals. Examples of projects include a website, a LinkedIn profile, a vision, or a portfolio. You’ll further examine competencies, such as ethical reasoning, and apply them to examples that engineers often experience at work.More info
Fall 2022: Formal Verification of Systems Software
During this course, you will learn how to formally specify a system’s behavior, how to prove that the high-level design of the system meets that specification and finally how to show that the system’s low-level implementation retains those properties. The course does not assume any prior knowledge in formal verification. We will start from the basics of the Dafny language and build from there. In the end, you should be able to design and prove correct a complex system.More info (pdf)
Fall 2022: Power Semiconductor Devices
- Learn how power switches (transistors) and rectifiers (diodes) work
- Gain familiarity with the materials used for power devices
- Understand how device design determines performance
- Learn how to use commercial software to numerically model power devices through guided projects (Synopsys Sentaurus and Silvaco Atlas)
Fall 2022: Science of Deep Learning
This is a graduate-level research-oriented course focusing on fundamental principles (“science”) of deep learning, from both theoretical and empirical perspectives. We will aim to cover fundamental theory, ideas, phenomena, and challenges underlying recent advances in deep learning. Deep learning is a fast-evolving field, and anything can change at any moment, so it’s good to keep an open and critical mindset. If you see something that seems unsatisfactory, you are probably right and you should try to understand it better and improve it!
Note that the focus of this course is on the theoretical and scientific understanding of deep learning. It will not teach you how to use deep learning packages. It is also not about the applications of deep learning to scientific domains.
Fall 2022: Quantum Computing for the Computer Scientist
Quantum computing, should current technical barriers be overcome, makes bold promises to revolutionize key applications including cryptography, machine learning, and computational physics. This course will explore the potential impact and limitations of this paradigm shift from a computer science perspective. Lectures will cover the bare physics and mathematics needed to investigate how each layer of the computing stack (logic, system architecture, algorithm, and application design) is impacted. Labs and programming assignments will provide students a hands-on approach towards writing quantum programs, simulating their execution, deploying them to real quantum hardware available on the cloud, and analyzing their performance.More info (pdf)
Fall 2022: Intro to Quantum Information Science and Engineering
Are you interested in learning what a quantum computer is and how it can be built? Do you know that many technologies we take for granted today including computers, Internet, solar panels, LED lights will not be possible without the discovery of quantum phenomena 100 years ago? Are you curious in exploring how quantum information technologies can help revolutionize future computers, communication network, and sensing technologies with broad applications in cybersecurity, drug development, financial modeling, traffic optimization, weather forecasting, artificial intelligence, and materials discovery? The goal of this course is to develop a broad understanding, appreciation, and literacy for the concepts, applications, and societal impacts of quantum information science and engineering (QISE).More info
Fall 2022: Principles of Machine Learning
This is an entry-level machine learning course targeted for senior undergraduate and junior master students. This course is a little bit more emphasis on mathematical principles in comparison to EECS 445. Students outside of the ECE program interested in machine learning are welcome as well.More info (pdf)
Fall 2022: Approximation Algorithms and Hardness of Approximation
Approximation algorithms have been actively studied in both algorithms and complexity theory, culminating in optimal approximation algorithms for some fundamental problems; they achieve some approximation guarantees and no polynomial time algorithm can do better under some complexity conjectures. The theory of approximation algorithms also leads to beautiful connections between algorithms, complexity, and some areas of mathematics. This course will provide an overview of these connections, stressing techniques and tools required to prove both algorithms and complexity results.More info (pdf)
Fall 2022: Extended Reality and Society
See course flyer below.More info (pdf)
Fall 2022: Embedded Security
Designed for undergraduate and masters students seeking careers to help people with assistive
technology, this lab-based embedded security course teaches advanced methods to protect the
security of embedded computing systems from analog threats to the physics of sensing and computation. Master highly sought technical skills by employers on frequency-domain security analysis of signals, voice recognition, and fault injection testing of semiconductors with acoustics, RF, and lasers. Learn how to defend rather than attack systems with application to healthcare, autonomous vehicles, smartphones, medical devices, vaccine production, and orbiting satellite constellations.
Fall 2022: Randomized Numerical Linear Algebra in Machine Learning
Randomized Numerical Linear Algebra (RandNLA) describes a suite of algorithms which use randomness to construct small representations (sketches) of large data matrices. These sketches are then used to efficiently solve large-scale matrix problems at the core of many scientific, data science and machine learning tasks. This course will focus on algorithmic and theoretical foundations of RandNLA, including such topics as randomized dimensionality reduction and approximate matrix multiplication, as well as recent advances in the area with a particular focus on its applications to machine learning.More info (pdf)
Winter 2022: Artificial General Intelligence
This class will explore the computational structures and processes that can potentially support general intelligence. This will be a seminar course where students read, present, and discuss readings from AI and cognitive science, including psychology, linguistics, animal behavior, and neuroscience. Students will be evaluated on participation in class.More info (pdf)
Winter 2022: Identity and Trust On- and Off-Web
The class will be conducted seminar style and involve presentations by students, guest lecturers, discussions, and projects. Some topics of interest are as follows:
- Self-sovereign identity and verifiable claims: deep dive
- Implementing efficient and easy to use hardware and software wallets
- Mapping use-cases to the technology: trade-offs between coverage & complexity
- Issues inherent in a unified approach to people, services, things and data
- Blockchains & distributed ledgers: what role do they play?
- Designing for the real-world: security, usability, scale
- Co-existing with and leveraging legacy identity and security technologies
- Rethinking micropayments: is it different this time?
- Smart contracts: how do we trust a world that runs as code?
Winter 2022: Quantum Information, Probability and Computing
The failures of classical theories to explain important physical phenomena led to revolutionary and unprecedented changes in our thinking, and, in turn, to the develop-ment of quantum mechanics in the ﬁrst half of the twentieth century. It turns out that the laws of quantum mechanics lead to a new theory of probability (quantum probability) which is a non-commutative generalization of classical theory of probability. It was long believed that information processing and computing were solely mathematical constructs and as such were independent of nature and the laws of quantum mechanics. In the 1980’s this assumption was found to be untrue, and the consequences have been profound. The introduction of quantum mechanics into communications and computation has produced new paradigms (quantum infor-mation) and some unforeseen results in the ﬁelds of computation, communications and learning. For example, quantum algorithms have now been found for factoring composite numbers (Shor’s algorithms 1994). In contrast, there are no known practical (i.e., polynomial time) classical so-lutions for the problem. Moreover, recently quantum probability models have been proposed for human cognition to explain question-order-eﬀects in polling and violations of rational decision theory. This course is an introduction to this general area. A basic working knowledge of linear algebra is a prerequisite, but no prior knowledge of quantum mechanics, classical computing or information theory is assumed. Graduate students in all areas of engineering, computer science, system theory, the physical sciences and mathematics should ﬁnd this material of interest.More info (pdf)
Winter 2022: Introduction to Quantum Electromagnetics
This course is designed for upper level engineering students and students from the physical sciences who have had the usual first two semesters of introductory physics (e.g., 140/240) and the usual calculus classes up through differential equations. Some general knowledge of matrices and determinants is helpful. The course assumes no prior training in quantum mechanics. The course begins with a short introduction to the usual quantum mechanics and then a presentation of the postulates of quantum mechanics and an introduction to Dirac notation. After reviewing the basic ideas and results of classical electromagnetics, we then use the postulates to convert the classical picture of electromagnetics to the quantum picture. The rest of the semester is then used to explore how to create and detect the quantum field and the creation of new states of the quantum field for quantum communications, quantum sensing (lidar/radar), quantum encryption and quantum information. The impact of the quantum vacuum on devices is discussed as well as the interaction of quantized light with various kinds of quantum devices.
The performance metric in the class is focused on learning rather than assessment.More info (pdf)
Winter 2022: Internet Foundations
This course introduces students to the fundamentals of the internet. You use the internet every day, and in this course we permit you to “look under the hood” of the internet. We start by reviewing the differences between various applications, such as world wide web, skype, and Bit-Torrent. The 4-layer internet model will be explained, which includes the application, transport, network and link layers. Internet protocol and TCP/IP communication will be reviewed, along with a detailed discussion of how packet switching and routers work. The link and physical layer description will include explanations of how WiFi and Ethernet networks work. Other topics covered briefly include Network Address Translation, Wireless and Mobile Networks, Multimedia Networking, and Network Security. By taking this course you will have a better appreciation of how computer networks work and how your computer communicates over the internet.More info (pdf)
Winter 2022: Algorithms for Data Science
This course will introduce algorithmic and theoretical aspects of data science. With the emergence of machine learning and data science, providing theoretical foundations for them will become increasingly important. The course will cover several important algorithms in data science and see how their performances can be analyzed. While fundamental ideas covered in EECS 376 (e.g., design and analysis of algorithms, NP-hardness, etc.) will be important, some topics will introduce new concepts and ideas, including sublinear time algorithms, algorithms for continuous domains, and average-case analysis.More info (pdf)
Winter 2022: Social Consequences in Computer: Fairness, Privacy, and Other Values
This class will cover the ways in which applications of computing affect societal institutions and how these social consequences produce questions about how to conceptualize, critique, and ensure our all-too human values in computing. To accomplish this, we will explore computing — particularly artificial intelligence (AI) and machine learning — in online platforms, algorithms, and policy-making, including exploring the role of AI in everything from personalization to surveillance to online speech. We will focus on those values where recent advances in computing have demonstrated large societal challenges: privacy, fairness, justice, and related values. We will critically examine the philosophical and sociological underpinnings of these values and the strategies commonly used to promote them, and seek to connect these conceptualizations to the emerging algorithmic tools proposed for promoting those values. In doing so, we will develop a diverse toolbox of computational, social, and political ideas, with the end goal of developing the ability to thoroughly reason through these problems in our own projects.More info (pdf)
Winter 2022: Category Theory
This course will serve as an introduction to category theory for computer science students, especially those interested in applications to formal logic and programming languages. Tentative topics include categories, functors, natural transformations, adjunctions, universal properties, monads, multicategories, and functorial semantics. We will focus on the formal relationship between syntax and semantics as a unifying theme.More info (pdf)
Winter 2022: Artificial General Intelligence
This class will explore the computational structures and processes that can potentially support general intelligence. This will be a seminar course where students read, present, and discuss readings from AI and cognitive science, including psychology, linguistics, animal behavior, and neuroscience. Students will be evaluated on pre-class analyses of class topics, participation in class, and their final project/paper.More info (pdf)
Winter 2022: Encrypted Systems
The aim of this course is fourfold: first, to understand the cryptographic tools that have proven useful in encrypted systems, and how to design new ones; second, to study how encrypted systems have used them (successfully or not); third, to identify “design patterns” for encrypted systems; fourth, to navigate the complex ethical questions that can arise in encrypted systems research.More info (pdf)
Fall 2021: Randomized Numerical Linear Algebra in Machine Learning
This course will focus on numerical linear algebra (NLA), which describes a large suite of algorithms that power a huge number of scientific, data science, and machine learning applications. The use of randomization has been allowing these methods to scale to tremendous data sizes in efficient ways. We will study recent research results in randomized NLA, tradeoffs in terms of computation, data requirements, and accuracy, as well as some specific applications in machine learning and scientific computing.More info
Fall 2021: Automated Formal Verification of Hardware and Software
This course teaches students about a variety of automated formal verification techniques as well as how to apply such techniques to the verification of hardware and software systems. The course material will equip students to be capable of utilising formal verification tools in the field, and also forms a foundational understanding on top of which they can conduct formal verification research. A substantial component of the course grade will be a final research project (conducted in teams of 2 or 3 students), in which you are expected to conduct original research in formal verification. A list of project ideas will be provided by the instructor; students may also propose their own project ideas, subject to instructor approval.More info
Fall 2021: Machine Learning in Computational Biology
See flyer for more information!More info (pdf)
Fall 2021: Engineering Interactive Systems
This course teaches principles (e.g., human-centered systems design, usability, accessibility) and methods (e.g., requirements gathering, functional prototyping, user study evaluation) of technical Human-Computer Interaction (HCI) research. The course surveys HCI research threads including Human-AI Interaction, Social Computing, Behavior Modeling, Education Technologies. Group assignments give students exposure to HCI research methods.
Fall 2021: Introduction to CSE Graduate Studies
See flyer for details!More info (pdf)