# Getting Started¶

## Course Modules¶

Use the table below to find a course module. If you are not sure whether you have all the needed background knowledge, start with Complex Numbers. To jump right into quantum computing fundamentals, go to Qubits.

Background Math Classical Computing Qubits and Quantum Gates Multi-Qubit Systems Quantum Circuits Quantum Protocols Quantum Algorithms Quantum Error Correction Execution on Quantum Computers
Complex Numbers Digital Information Qubits Qubit Registers Complex Superpositions Quantum Interference Deutsch-Jozsa Algorithm Bit-Flip Error Correction Intro to Qiskit
Vectors Endianness The Bloch Sphere Multi-Qubit Gates Quantum Circuit Diagrams Superdense Coding Simon's Algorithm Steane ECC Cloud-Based Machines
Matrices Digital Logic Single-Qubit Gates The Quirk Tool Grover's Algorithm Resource Estimation and Practicality Assessment
Bra-ket and Tensor Notation Low-level Programming Intro to Q# Quantum Fourier Transform Closing Thoughts and Next Steps
High-level Programming Lab Tutorial: Single-Qubit Gates Shor's Algorithm
Visual Studio

## Using Windows 10 or 11 + Windows Subsystem for Linux (advanced):¶

• Install Linux on windows with WSL
• Download Ubuntu for Windows (20.04 LTS should work best) from the Microsoft Store
• Open Ubuntu, create profile, and paste the following into the terminal:
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0=6.0.300-1

• Install the Remote Development Kit for VS Code

• On the bottom left, a new green icon should be visible. Click this, then select Remote-WSL: New Window to open your Linux terminal in VS Code.

• Now that VS Code is using your Ubuntu terminal, install all other extensions on the 'WSL' version of your VS Code.
• Creating and running a new Q# project

## Using any OS with a Docker container¶

• Install Docker Desktop for Windows/Mac

• If you are using WSL 2 on Windows, to ensure the WSL 2 back-end is enabled: Right-click on the Docker taskbar item and select Settings. Check Use the WSL 2 based engine and verify your distribution is enabled under Resources > WSL Integration.

• When not using the WSL 2 back-end, right-click on the Docker task bar item, select Settings and update Resources > File Sharing with any locations your source code is kept. See tips and tricks for troubleshooting.

• Install the Remote Development Kit for VS Code

• On the bottom left, a new green icon should be visible. Click this, then select 'Open Folder in Container' to open VS Code in a development container that will use Ubuntu and has dotnet already installed.

• Now that VS Code is using your container, install all other extensions on the container version of VS Code, unless recommended otherwise.

To create and run a new Q# project in VS Code, follow the steps here. Linked here are more detailed use instructions for Visual Studio and Visual Studio Code.

## Use¶

Each exercise consists of functions or operations that have not been implemented. The project includes unit tests that validate whether the implementation is correct. Use the Test Explorer to see which exercises have been completed successfully. The first time you open the solution, pull up the Test Explorer pane using the toolbar option Test > Test Explorer, and then click the green Run All Tests In View button. After that, you can expand the tree and run tests individually. You can see the output of a selected test by clicking the Open additional output for this result link.

See the Visual Studio module for info on debugging.

Last update: July 8, 2022