External Elements of Quantum Computer Programming (Stanford CS269Q Lecture Materials)
  • Self-paced
  • advanced
  • Free
  • External
  • advanced
  • Free

Elements of Quantum Computer Programming (Stanford CS269Q Lecture Materials)

Self-paced By Prof. Dan Boneh and Will Zeng, Stanford

Level
advanced
Format
Online course
Duration
Self-paced
Provider
QuantumComputingCourses.com
Certificate
No
Price
Free

Skills you'll gain

  • Quantum Programming
  • PyQuil
  • VQE
  • QAOA
  • Quantum Error Correction

Stanford’s graduate course on quantum computer programming (CS 269Q, Elements of Quantum Computer Programming), taught in Spring 2019 by Professor Dan Boneh and Will Zeng, with guest lecturers. The lecture slides and assignments remain freely available on the course site.

CS269Q approaches quantum computing as a programming discipline. The emphasis is on writing and running real quantum programs, understanding the near-term hardware they target, and working with the hybrid quantum-classical algorithms that defined the NISQ era. Learners who found other courses too abstract or too physics-heavy will find this treatment refreshingly practical.

What you’ll learn

Course structure

Materials consist of lecture slides (PDFs for 19 lectures, some with accompanying Jupyter notebooks) plus one homework and three project assignments with starter code. There are no video recordings publicly available. A showcase of final student projects is also linked from the course site.

The course follows a progression from the basics of quantum computation through programming with pyQuil, then into noise, benchmarking, variational algorithms, hardware, compilation, and a closing tour of the major quantum algorithms.

The assignments are hands-on programming projects. Working through them with the open-source tools the course uses is the primary way to build genuine understanding from the slide materials.

Who is this for?

  • Computer science students and software engineers who want a hands-on, programming-first route into quantum computing
  • Developers who want to learn pyQuil and the near-term hybrid algorithm stack (VQE, QAOA)
  • Learners who have found other graduate courses too theoretical and want to write code that runs on simulators and real processors
  • Anyone curious how a top CS department taught practical quantum programming

Prerequisites

A solid programming background in Python is expected, along with linear algebra including eigenvalues, tensor products, and unitary matrices. No prior quantum mechanics is assumed: the early lectures cover the quantum mechanics needed, with readings from Nielsen and Chuang.

Hands-on practice

This is a programming-focused course and the practice is correspondingly practical:

  • Write and simulate quantum programs in pyQuil, from single circuits to full algorithms
  • Model noise and explore basic error correction using pyQuil’s noise tooling
  • Benchmark simulated processors with tomography and randomized benchmarking techniques
  • Implement variational algorithms (VQE with OpenFermion, QAOA) end to end
  • Complete open-ended final projects; a showcase of past student projects is on the site

Starter code is provided for the assignments, and the recommended workflow uses Jupyter notebooks.

Why take this course?

Stanford CS269Q is a rare artifact: a complete, freely available syllabus showing how practical quantum programming was taught at a top computer science department, by instructors who combined academic depth (Boneh) with industry experience building quantum software (Zeng, then at Rigetti).

One caveat: the materials date from Spring 2019, so some tooling has moved on (pyQuil and PennyLane have evolved significantly since). The concepts, algorithm coverage, and programming patterns remain a solid foundation, but expect to adapt code examples to current library versions.

Topics covered

Similar Courses

Other courses you might find useful