Course Introduction

In-class notes

1 Today’s Information

1.1 Learning Goals for Today

  • Build curiosity for quantum computers and what they can do
  • Develop ideas for productive group problem solving
  • Familiarity with course structure

1.2 Announcements/Logistics

  • Office Hours this week only: T/Th 12:30-1:30, 3:30-4:00
  • Upcoming Assignments:
  • Course Assistant drop-in hours TBD
  • “What I Did Over the Summer”

2 What do you know about quantum computers? What will you know about quantum computers?

2.1 Testing your current understanding:

ABCD Questions
  • Which can solve more problems?

    1. A regular (classical) computer with \(n\) bits and \(T\) time steps/cycles.
    2. A quantum computer with \(n\) (qu)bits and \(T\) time steps/cycles?
    3. Each of these computers can solve problems that the other can not.
  • There are problems a quantum computer can solve that no classical computers can solve.

    1. True
    2. False
    3. Unknown
  • Quantum computers can solve NP-Hard problems, like the traveling salesperson problem.

    1. True
    2. False
    3. Unknown
  • There are problems for which there is an exponential asymptotic time advantage for a quantum computer over a classical computer.

    1. True
    2. False
    3. Unknown

2.2 What we will learn in this class:

  • Use standard terminology and mathematical tools of quantum computing to effectively describe and analyze quantum algorithms and protocols for cryptography, game-playing, disturbance-free detection, factoring, searching, and error correction.
  • Describe properties of quantum mechanics (like entanglement, measurement, no-cloning, superposition, negative and complex phases), and build intuition as to why these properties lead to advantages over standard computation in computing and information tasks.
  • Appreciate the limits of quantum computation and recognize when hype is used to minimize those limitations.
  • Develop strategies to become a better learner and collaborator

3 Learning and Collaborating

The first learning goal of the course has nothing to do with algorithms:

Develop strategies to become a better learner and collaborator.

3.1 Learning

Think of something you are good at. How did you get good at it? Did you ever make mistakes? What did you do when you made a mistake?

Because learning is a process, and mistakes are one of the best ways to learn, I give you lots of opportunities to make mistakes:

  • Problem sets are graded on effort, not correctness
  • Quizzes and exams have unlimited revisions and credit/no-credit grading

3.1.1 Group Work

We will do group problem solving in class almost every period. This will help you learn course content

  • by trying to explain your thinking to others
  • by asking questions
  • by making mistakes

It will also help you to learn to be a better team member and to meet lots of other cool CS students! I will always provide the solution in class after you’ve had a chance to work on it in groups.

Group Exercise

In groups we are going to brainstorm ways to manage challenges that arise in group work: - go/CS33groups