Course: ELE 396
Instructor: Andrew Houck
Description of Course Goals and CurriculumThis course aims to introduce students to the most important topics in quantum computing, including quantum gates, quantum algorithms, quantum cryptography, and the implementation of quantum computers. Quantum computing is currently an extremely hot research topic in physics, electrical engineering, and computer science, and advances in the field will play a crucial part in the ongoing “quantum technology revolution.” Because quantum computing is a relatively young field, this course takes students from its foundations to the most forefront developments in the field today. This course serves as a good overview for students who are interested in understanding the developments in quantum computing or doing related research.
Learning From Classroom InstructionThe course met for two 1.5-hour lectures each week. There were problem sessions run by graduate TAs twice each week for students seeking help with the homework. This course did not formally follow any textbook, but the Professor posted hand-written lecture notes before each lecture. It is important to preview the lecture contents before class because lectures ran at a relatively fast pace, and it would help to be familiar with the terminology beforehand. The notes taken in class could sometimes be harder to follow than the posted lecture notes as the Professor tended to skip steps in lecture. Lectures were very engaging and relatively easy to follow if one went in with enough preparation. Office hours were underutilized, but the Professor tended to be very helpful with clarifying concepts.
Learning For and From AssignmentsThe grading of the course was broken down into problem sets (30%), in-class midterm (30%), and final (40%). The homeworks were assigned almost weekly and sometimes biweekly. The problem sets test knowledge of each week’s lecture content and tend to contain more complicated computations than class examples. Completing the problem sets requires an in-depth understanding of lecture notes and sometimes could be not very straightforward. Each week’s problem sessions and office hours are therefore important for successfully completing the homeworks. The problems on the exams are similar to the problem sets but because not many practice problems are available, it is the most effective to focus on thoroughly understanding the lecture notes while studying for exams. Solving the problems in this course typically does not require heavy computations but rather taking advantage of the tools learned in class to simplify the problems.
External ResourcesThere are several textbooks that may help with understanding the concepts in the course. Quantum Computer Science: An Introduction by David Mermin is an introductory book on quantum computation written by a physicist for nonphysicists. Quantum Computation and Quantum Information by Michael Nielsen and Isaac Chuang is a good reference for all aspects on the topic but could be difficult to understand on the undergraduate level. In addition, Berkeley’s "Quantum Mechanics and Quantum Computation" video lecture series online by Professor Umesh Vazirani is a helpful resource for clarifying or getting a different perspective on the same topics along the course.
What Students Should Know About This Course For Purposes Of Course SelectionQuantum computation is a rapidly developing field which has important implications for both computer science and quantum physics. This class covers the most important aspects of the foundation and ongoing research in quantum computing, and this knowledge is an asset to anyone doing quantum-focused research. The student body in this class is split between COS/ELE and PHY: for COS/ELE students, the implications of the development of quantum computers to the current computing/cryptography algorithms are interesting, and for PHY students, the real-life application of quantum physics will be intriguing. The course does not require a prior course in quantum mechanics because it introduces the rudimentary ideas needed to understand quantum computing in a beginner-friendly manner. However, some readings about introductory quantum mechanics, particularly about superposition of states, will be helpful. A background in linear algebra is important in taking full advantage of the course content.
Introduction to Quantum Computing