## Duration

21 hours (usually 3 days including breaks)

## Requirements

- An understanding of software and hardware computing concepts.
- An understanding of complex numbers and linear algebra.

**Audience**

- Developers
- Scientists
- Engineers

## Overview

Quantum computers are machines that are built on the principles of quantum mechanics. Unlike classical computers which rely on bits that can only exist in one of two states (0 or 1), quantum computers use quantum bits which can exist in multiple states at once. Quantum computers are expected to process algorithms and solve problems much faster than classical computers.

Cirq is a Python library for writing, manipulating, and optimizing quantum circuits and running them against quantum computers and simulators.

In this instructor-led, live training (onsite or remote), participants will learn the fundamentals of quantum computing as they step through the development of algorithms targeting quantum computers.

By the end of this training, participants will be able to:

- Set up the necessary development environment to start creating quantum circuits.
- Control gate behavior using the gate’s native counterpart.
- Improve on quibit inaccuracies using Cirq.
- Write and execute a quantum circuit to run against a NISQ based quantum computer simulator.

**Format of the Course**

- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.

**Course Customization Options**

- To request a customized training for this course, please contact us to arrange.
- To learn more about Ciq Framework, please visit: https://github.com/quantumlib/Cirq

## Course Outline

Introduction

Quantum Information Theory

- The uncertainty theory
- Superposition and entanglement
- Subatomic particles

Overview of Classic Computers

- Bits
- Binary systems
- Transistors

Quantum Computing

- Topological codes
- Circuit QED
- Quibits

Understanding Quantum Computers and NISQ Processors

- Algorithms for the NISQ Architecture

Overview of Cirq Framework

Overview of Quantum Development Kits

Setting Up the Quantum Development Environment

Cirq Data Structures and Syntax

Preparing the Quantum Machine Simulator

Case Study: Low Depth Quantum Algorithms for Quantum Chemistry Problems

Writing a Quantum Algorithm

Controlling Quantum Circuits

Specifying Gate Behavior and Placement

Scheduling the Timing of Gates

Compiling the Algorithm

Dealing with the Constraints of Quantum Hardware

Running the Algorithm on a Local Simulator

Testing and Debugging an Algorithm

Integration with Cloud Simulators

Integration with Future Quantum Hardware

Troubleshooting

The Future of Quantum Computing

Summary and Conclusion