.. title: Presentation to Quantum Blueprint group 2021-12-02
.. slug: bluetalk
.. date: 2021-12-01
.. tags: misc
.. category: 
.. link: 
.. description: 
.. type: text
.. has_math: true

.. sectnum::
.. contents:: Table of contents
..

This talk's web site is https://wrf.ecse.rpi.edu/Teaching/quantum-f2021/posts/bluetalk.html

ECSE-4964/6964 Quantum Computer Programming
============================================

Context
-------

#. I asked and was permitted to create this course for Fall 2020.  This semester (F2021) is the 2nd running.

#. Based on a suggestion from Dr. `Chandrasekhar Narayanaswami <https://researcher.watson.ibm.com/researcher/view.php?person=us-chandras>`_, Distinguished Research Staff Member, Member IBM Academy of Technology, Member IBM Industry Academy, Thomas J. Watson Research Center, Yorktown Heights.

   a. my former PhD student.
   #. now on the ECSE advisory board.

#. It replaced ECSE-4750 Computer Graphics, which I'd taught for about 40 years.

#. It's not the 1st or 2nd quantum course at RPI, but might be in the SoE.

#. Like all my courses, QCP has a blog:  https://wrf.ecse.rpi.edu/Teaching/quantum-f2021/

   a. that runs on my virtual web server: wrf.ecse.rpi.edu

      i. hosted by ECSE

      #. I'm root, and update and manage it.

      #. This takes my time, but I can configure it as I want.

      #. RPI is protected from any security problems I might introduce.

      #. although historically I'm more secure than RPI.

   #. the blog is readable by anyone.

      that's only fair since I use so much free material.

   #. created with Nikola, https://getnikola.com/, a static site generator.

#. this year's running of the course:

   a. 16 students: 9 undergrad, 7 grad.

   #. from 6 different majors:

      i. AERO
      #. CBIO
      #. CSCI
      #. CSYS
      #. ELEC
      #. MATH

Content
-------

#. The idea was not to compete with, but to supplement the other courses.

#. I assume that the physicists will deliver ever better quantum computers

   a. how to use them?

   #. hence the title: **Quantum Computer Programming**.

#. Catalog:

   Intro to quantum mechanics. Various physical realizations of quantum computing, such as transmon qubit (IBM Q), trapped ion (IonQ), and quantum annealing (D-Wave). Quantum states and qubits. Quantum gates including Hadamard, Pauli-XYZ, Toffoli, Fredkin. Qiskit. Quantum algorithms such as Grover, and Shor. Programming quantum computers using IBM qiskit and Microsoft Quantum.

#. Pre-requisites:

   a. ECSE-2610 (CPTR COMPONENTS & OPER),
   #. CSCI-2200 (FOUNDATIONS OF COMPUTER SCI), and
   #. PHYS-1200 (PHYSICS II) or permission.

   The prereqs select for ECSE seniors.  Maybe they could be relaxed.

#. Source material:

   #. Suggested textbooks:

      i. Noson S. Yanofsky and Mirco A. Mannucci, Quantum Computing for Computer Scientists, 2008;
      #. Abraham Asfaw et al, Learn Quantum Computation using Qiskit, http://community.qiskit.org/textbook, 2020

	 There's an old and a new version.   The old version was more comprehensive.
      #. N. David Mermin, Quantum Computer Science An Introduction, 2006.

      We used pieces from each of them.

   #. Web sites:

      i. IBM's detailed online stuff.  Not just qiskit but algorithms etc.
      #. Other universities provided inspiration.
      #. Misc quantum research centers, like Delft
      #. Many videos.
	 
   #. I tried to show the principals themselves describing their work and their opinions.  E.g., Peter Shor talking about his algorithm and about quantum computing in general.

   #. My main job was to be a *curator* selecting the best material for the class.

#. Learning Outcomes:

   a. Demonstrate proficiency with the mathematics behind quantum computing.
   #. Understand important quantum computing algorithms.
   #. Understand the three main quantum platforms: transmon qubit, trapped ion, and quantum annealing.
   #. Apply that to write and run programs on those platforms.

#. Lecture technique: primarily show videos and ask questions.  Approx 4 of 28 classes were student presentations.
   
#. Course content, by lecture

   1. Intro to quantum physics, qubit, state as complex vector, superposition, reversibility, no cloning, measurement, entanglement, history.
   2. 1 and 2 qubit operators, quantum computation vs classical circuits
   3. more on math, operators, no cloning
   4. more on entanglement with Toffoli gate,  complexity theory, history of theoretical CS, intro to hw
   5. abstract computation models, complexity classes, theory preceded implementation, hw, IBM qiskit
   6. IBM quantum computing
   7. quantum computing 2021 update, misc from qiskit textbook
   8. Grover's algorithm
   9. Student presentations
   10. Student presentations ctd
   11. Student presentations ctd, Shor's algorithm
   12. Shor's algorithm, ctd
   13. Qiskit applied algorithms: HHL to solve linear systems
   14. Qiskit applied algorithms ctd: simulating chemistry, image processing
   15. Amazon Braket
   16. Amazon Braket ctd, D-Wave, IonQ
   17. D-Wave ctd
   18. D-Wave ctd, quantum compution compiler optimization
   19. quantum compution compiler optimization ctd, quantum commununication
   20. quantum commununication ctd, secret sharing      
   21. What can Quantum do for AI?
   22. Quantum machine learning
   23. cryo-CMOS control, IonQ
   24. IBM Quantum State of the Union, quantum computers in financial risk analysis
   25. NYU reaction to IBM Eagle, Tristan Meunier slides (which start by nicely summarizing quantum computing)
   26. student presentations etc
   27. student presentations
   28. student presentations

#. Lectures contain many links to current news stories.	 

#. Homeworks:

   a. math etc
   #. programming actual quantum computers of three architectures:
      
      i. IBM with qiskit
      #. D-wave and IonQ on Amazon Braket
      
#. Grades: many homeworks, in class presentation, final project with writeup and presentation

   Extra work for 6000 level: more research content in project, documented.


Difference from last year and next year
=======================================

#. This year I added more non-IBM stuff: IonQ, D-Wave, Amazon Braket etc.
#. Next year (if I don't retire) I'd add more student presentations (they're good) and be more polished.


Other interesting stuff
=======================


IBM Announcement
----------------

#. `Eagle: 127 qubit <https://research.ibm.com/blog/127-qubit-quantum-processor-eagle>`_
#. better software tools
#. roadmap: 432 qubits in a year.


Amazon Braket
-------------

#. https://aws.amazon.com/braket/
#. run on 3 different quantum architectures
#. software tools
#. Microsoft has a similar service; Amazon's looks better.

   




	 
