Project
Congratulations!

Congratulations! You’ve finished the taught part of this course. You’ve learnt a lot, including:
How we measure and compare different algorithms
How we break computing down to bits and gates
What quantum interference is, and the effects it has
What entanglement is, and how it makes quantum computers difficult to simulate
How we can use quantum computers to improve search algorithms
Completing a guided project
Hopefully you enjoyed learning about quantum computing. If so, we now encourage you to try a project. In your project, you'll pick an area you’ve come across that you find interesting and investigate it. The final form of your project can be whatever you choose, from a blog post explaining an investigation, to improving Qiskit itself.
Step 1: Connect to the community
If you haven’t joined already, the Qiskit Slack workspace is a great place to ask questions and get support. The developers of Qiskit and this online textbook hang out there, as well as plenty of students and enthusiasts. You can join via this link, and introduce yourself in the #textbook-projects channel.
Step 2: Get started with GitHub
Using GitHub you can:
Display code you've written.
Create your own web page (e.g. for a blog or online demo) using GitHub pages.
Fork Qiskit and start working on an issue.
Git and GitHub are great tools, but they also come with a fair bit of jargon. We'll include tooltips for some of these terms when we come across them.
You can follow GitHub's quickstart guide here.
Step 3: Decide on a project
Your project can be on anything you want. You can post your ideas in the #textbook-projects Slack channel to get advice from mentors, and find other people to collaborate with.
Below are some ideas to get your imagination going. Each set of bullet points is roughly ordered from easier to harder projects. You can use one of these ideas, adapt them, or do something completely different!
Project ideas
Writing based
If you enjoy writing, you could:
Write a blog post explaining what you’ve learnt and how the experience was. Use this blog to document your journey, through quantum computing or any other areas of interest.
Write a blog post explaining the Hardy paradox to a specific target audience, e.g. “someone who hates maths”, or “someone who loves puzzles”.
Tackle an open issue on the Qiskit Textbook GitHub repo, or suggest a change for something you think could be improved.
Investigate a proposed application of quantum computing. What kind of advantages can we expect? And what performance will we need from a quantum computer to be able to reach this advantage? Be careful of bold claims and pseudoscience. Write up your results as a blog post.
Code based
If you’re more comfortable with code:
Create a program that builds an oracle for a given string (e.g. given
01101, will return aQuantumCircuitthat inverts the phase of the state and leaves all other states unchanged.Tackle an open issue in the Qiskit Terra repo.
Create a program that builds an oracle circuit from a problem (like the
PhaseOracleclass does in the previous page). Assess how the size of your circuits grow with the size of the problem.Try making a quantum game.
More theoretical
If you preferred the mathematical side of things:
Work out how many times Grover’s algorithm needs to query the oracle if there are multiple solutions. Write up your working as a short blog post.
Write an introduction to “maths for quantum computing”. Research the maths needed to read other quantum computing textbooks and build a guide for new learners.
Investigate how you would combine Schöning’s algorithm with Grover’s algorithm. What would a circuit for this look like? Are there any potential problems?
Something else
If you prefer a lighter project:
Write a song about quantum computing. Post it on Soundcloud or YouTube.
Make a piece of art representing an interesting concept you’ve come across in this course. Write a short blog post presenting and explaining it.
Use Qiskit and MatPlotLib (or Bokeh, or anything really) to create something visually interesting. Write a short blog post presenting and explaining it.
Step 4: Have fun!
Start working towards your goal. If you find your project too difficult, get stuck, or simply get bored, ask for help in the #textbook-projects channel. The mentors can either point you in the right direction, or help you adjust your project’s goals.
Step 5: Share your work
After you’ve put in the time and effort, share your work with others on the #textbook-projects channel. If you maintain your GitHub profile and GitHub pages web page, you can use this to evidence your knowledge and experience to others (e.g. in applications or interviews).