Quantum computing has the potential to usher in a new age of computing, with impacts on areas from data science to cryptography. In this series of quick liveProjects, you’ll explore the full potential of quantum for cryptography, data transmission, data reconstruction, and more. In each standalone project, you’ll work with Q# and the powerful Microsoft Quantum SDK to experiment and prepare for the oncoming quantum revolution.
In this liveProject, you’ll take on the role of a cryptography expert evaluating quantum computing for the purpose of key distribution. Key distribution generates a random secret key which is then shared between only two parties, and is a crucial part of many cryptographic algorithms. You’ll work to implement the common BB84 key distribution, simulate using the BB84 protocol to generate a shared key, and then visualize the steps of the BB84 protocol.
In this liveProject, you’ll explore quantum mechanical phenomena for information transmission. You’ll go hands on with two quantum communication protocols—quantum teleportation and superdense coding. You’ll implement each protocol using Q# and simulate it running, before visualizing the intermediary states of the quantum system.
In this liveProject, you’ll step into the shoes of a quantum software engineer and develop a library for state preparation routines. Preparing quantum systems in arbitrary superposition states is a vital step of quantum algorithms. Luckily, the Microsoft Quantum Development Kit libraries offer multiple state preparation routines. You’ll implement a single-qubit state preparation routine and a recursive multi-qubit state preparation routine, before implementing the complete multi-qubit state preparation routine. Finally, you’ll write unit tests for your implementation.
In this liveProject, you’ll use the powerful Quantum SDK from Microsoft to develop a simple quantum application using Grover's search algorithm. This algorithm will be able to generate missing data, such as by taking a query in the form of an ISBN with one or several missing digits, and recovering those digits to return the information about the book with this ISBN. You’ll start simple by implementing the algorithm to recover only a single missing digit, then expand to recovering several missing digits. Finally, you’ll set up a classical query of an online ISBN database to find relevant book information.
In this liveProject, you’ll use quantum computing to solve a cryptarithm—a mathematical equation in which digits are replaced by alphabet letters. Your challenges will include figuring out how to represent the problem in a way suitable for Grover’s search algorithm, then implementing the algorithm and writing unit tests to validate your solution.
This liveProject is for software engineers interested in exploring hands-on quantum computing. To begin this liveProject you will need to be familiar with the following:
In this series of liveProjects, you’ll put the Q# language and the Microsoft Quantum Development Kit into action to explore quantum applications and simulate quantum computing.