Silver Light and Blue Sky

C# and Infrastructure. Code is everything.

The first Q# hands-on in OpenQL community

This is the 9th entry of the Q# Advent Calendar.

blogs.msdn.microsoft.com

We held the first Q# hands-on event in OpenQL community, which is open to the public and allowing anyone to learn about quantum computers and quantum programming, in Tokyo, Japan.

openql.connpass.com

I'm writing a brief wrap up for the previous event.

About thirty people took part in the hands-on lecture. Almost everyone had started learning quantum computing, but only a few people have tried Q#. Few people have used C#, too. Therefore, I focused to learn the first steps to start Q# in this hands-on lecture. This is the material in Japanese and I focused on the first task that day.

Q# ハンズオン 第1回 | QSharp-Handson

The first task is to follow the Q# quick start tutorial as a hands-on style.

docs.microsoft.com

I summarized the official document in Japanese for learning Q#.

www.slideshare.net

According to the feedback collected from participants, they're almost satisfied with this hands-on lecture and we have gotten some feedback on how to improve the hands-on lecture. I share them in this blog.

Instruct step by step to create a project

Since almost everyone is new to .NET Core project, it's good to instruct creating the project by using .NET Core CLI or Visual Studio. I focused on only using Visual Studio Code during this hands-on because it's cross-platform. Actually, some people brought their macOS computers and I used Fedora desktop :). At the beginning of the hands-on lecture, we should instruct on how to create the Q# Console project, run the created project to execute the Q# code. So that everyone can start writing the Q# code.

Instruct C# code

Q# code doesn't run by itself. Q# code is invoked from .NET Core languages such as C#, VB.NET, F#, and PowerShell. So everyone has to learn C# as well as Q#. Since we'd like to focus on learning Q#, we would have to instruct more details about C# code to invoke Q# operation.

Explain the standard library

After the hands-on, I was asked how to write some basic quantum gates such as Rotation, SWAP and so on. Since the Bell State example uses only a few built-in operations such as H,X and M, we should have explained it in this hands-on.

Our Future Plan

Due to the room being at max capacity, we're going to have the same hands-on lecture again in January. We will focus more on Q# code and operations at the event.

openql.connpass.com

According to the feedback, I'd like to continue to hold a hands-on style event for a while. Though it's just an idea, I'll pick up one algorithm example from the Q# sample repository and then instruct it.

GitHub - Microsoft/Quantum at release/v0.3.1811.203

QuantumKatas is also good material for learning Q#. Picking up one section is another good way to learn.

GitHub - Microsoft/QuantumKatas: Programming exercises for learning Q# and quantum computing

The hands-on will be provided in Japanese, but I'd like share my findings in English.