Skip to main content

Quantum Software Development 2021

©2020 The MITRE Corporation. All Rights Reserved. Approved for Public Release; Distribution Unlimited. Public Release Case Number 20-2805.

About This Course

In recent years, there has been an enormous surge of interest in quantum computing. Government, academic, and commercial organizations have spent billions of dollars attempting to create reliable, general-purpose quantum computers. These systems leverage the unusual properties of quantum mechanics to perform computations that could never be performed on conventional computers in our lifetime. Such calculations have a wide range of applications, including:

  • Breaking certain cryptographic algorithms
  • Engineering new materials
  • Simulating how systems behave in extreme environments
  • Finding new medicines that target specific diseases
  • Building secure transmission channels that cannot be eavesdropped

How do quantum computers accomplish these bold claims? How could we use this technology to tackle our most difficult challenges? And how do programmers like you access it? In this course, we will explore the answers to these questions and help you unlock the ability to write quantum software and simulate quantum algorithms. Students should bring some basic programming experience and an open mind as we delve into a new computing paradigm.

Important Dates

  • Jan. 15: Enrollment opens
  • Feb. 1: Course starts
  • March 31: Applications for summer due
  • Apr. 30: Applicants notified of summer acceptance


The prerequisite knowledge and skills required to excel in the summer course will be covered in online materials made available to students in advance. This portion touches the following topics:

  • Complex Numbers
  • Vectors
  • Matrices
  • Bra-ket and Tensor Notation
  • Digital information
  • Endianness
  • Digital Logic and Logic Gates
  • Computer Programming
  • Statically Typed Languages
  • Visual Studio
  • Unit Testing

Summer Course

The objective of the summer is to implement real quantum algorithms in quantum software. Students will learn the fundamentals of quantum computing through short lectures followed by coding challenges. During the fourth week, they will break out into teams to design their own software implementations of a quantum algorithm.

Week 1: Recap of Online Prerequisites and Intro to Quantum Concepts

  • Qubits
  • Superposition
  • The Bloch Sphere
  • Single-Qubit Gates
  • Q#

Week 2: Fundamentals of Quantum Computing

  • Quantum Cicuit Diagrams
  • The Quirk Tool
  • Qubit Registers
  • Complex Multi-Qubit Superpositions
  • Multi-Qubit Gates
  • Entanglement
  • Quantum Interference

Week 3: Quantum Algorithms and Applications

  • Deutsch-Jozsa Algorithm
  • Simon's Algorithm
  • Superdense Coding
  • Quantum Teleportation
  • Grover's Algorithm
  • Shor's Algorithm
  • Bit-Flip Error Correction
  • Steane ECC
  • Shor ECC

Week 4: Algorithm Implementation

  • Intro to Qiskit
  • Resource Estimation and Practicality Assessment
  • Intro to Algorithm Implementation
  • Teams will implement a quantum algorithm from its original paper in source code. The correctness of the implementation should be verifiable, and it should efficiently use quantum hardware resources. Students will present their work at the end of the week. The team with the most efficient implementation will be the winner!

Course Staff

Joe Clapis

Joe Clapis is a Lead Software Systems Engineer at The MITRE Corporation. He has over 10 years of experience in a variety of software domains, from machine vision to virtualization, and now currently works on quantum software systems. His latest research involves bridging the gap between quantum algorithm theories and their practical implementations.

Richard Preston

Richard Preston

Richard Preston is a senior engineer in the Network Analytics department at The MITRE Corporation. He earned his BS and MS in engineering from Tufts University. Richard has been involved with quantum software research since 2019, in addition to work in cybersecurity, cloud, and networking. He enjoys playing piano in his spare time.

Frequently Asked Questions

What web browser should I use?

The Open edX platform works best with current versions of Chrome, Firefox or Safari, or with Internet Explorer version 9 and above.

See our list of supported browsers for the most up-to-date information.