Kvantumszámítógépek programozása

A tantárgy angol neve: Programing of Quantum Computers

Adatlap utolsó módosítása: 2023. július 6.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Mérnökinformatikus szak
Villamosmérnök szak
Gazdaságinformatikus szak
Űrmérnök szak
BSc, MSc
szabadon választható

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIHIAV52   1/1/0/f 2  
3. A tantárgyfelelős személy és tanszék Dr. Bacsárdi László,
4. A tantárgy előadója Dr. Bacsárdi László, docens, HIT
Dr. Imre Sándor, egyetemi tanár, HIT
7. A tantárgy célkitűzése 2019 őszén jelentették be először a kvantumfölény elérést, vagyis kvantumszámítógép olyan problémát tudott megoldani, amely hagyományos (klasszikus) számítógépek számára gyakorlatilag nem megoldható. Azóta is folyamatosan jelennek meg újabb és újabb típusú kvantumszámítógépek, amelyekre különböző programozási környezetekben lehet szoftvereket készíteni. A tárgy célja megismertetni a hallgatókat a különböző architektúrájú kvantumszámítógépekkel és különböző programozási környezetekkel. A kurzus során a hallgatók betekintést nyernek a Qiskit fejlesztőkörnyezetbe, a Q# nyelvbe és az Azure Quantumba, a Cirg-be, és a Strawberry Fieldsbe. A hallgatók által írt programokat valós kvantumszámítógépeken tudják futtatni.
8. A tantárgy részletes tematikája Az előadások részletes tematikája
1.    Bevezetés. Motiváció. A kvantumszámítógépek történelme.
2.    Szuperpozíció, összefonódás, tiszta és kevert állapotok: a legfontosabb alapfogalmak.
3.    Kvantumszámítógépek operációs rendszerei
4.    Kvantumprogramok Qiskit környezetben
5.    Kvantumprogramok Q# nyelven
6.    Kvantumprogramok Cirg környezetben
7.    Kvantumprogramozás Strawberry Fields környezetben: alapok

A gyakorlatok/laborok részletes tematikája
1.    Programozás vizuális eszközzel: az IBM Quantum Composer
2.    Program futtatása az IBM kvantumszámítógépén
3.    Program futtatása Azure Quantum környezetben
4.    Program futtatása Quantum Virtual Machine környezetben
5.    Algoritmusok implementálása Strawberry Fields környezetben
6.    Program futtatása foton alapú kvantumszámítógépen
7.    Félév végi összegzés. Házi feladatok bemutatása. Kitekintés.
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás (illusztratív példákkal)
Gyakorlat (különböző programozási módszertanok)
10. Követelmények Szorgalmi időszakban:   A félév során egy zárthelyi dolgozat megírása kötelező, amely 50 pont értékű.
A félév során továbbá egy házi feladatot kell készíteni (további 50 pontért). A házi feladat beadási határideje a szorgalmi időszak utolsó tanítási órája a tárgyból.
Az összegyűjtött pontok alapján alakul ki a félév végi érdemjegy, 40, 55, 70, 85 pontos ponthatárokkal.

Vizsgaidőszakban:   -   
11. Pótlási lehetőségek A zárthelyi dolgozat pótolható a pótlási héten.
A házi feladat pótolható a pótlási hét 4. napjáig.
12. Konzultációs lehetőségek Oktatókkal egyeztetett alkalmi időpontban.
13. Jegyzet, tankönyv, felhasználható irodalom Jack D. Hidary, 'Quantum Computing: An Applied Approach', Springer 2021

Eric Johnston, Nic Harrigan, Mercedes Gimeno-Segovia, 'Programming Quantum Computers: Essential Algorithms and Code Samples', O'Reilly Media, 2019

Robert Loredo, 'Learn Quantum Computing with Python and IBM Quantum Experience: A hands-on introduction to quantum computing and writing your own quantum programs with Python',  ‎ Packt Publishing, 2020

Előadásokhoz rendelt online olvasnivalók (könyvfejezetek, cikkek)

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra28
Félévközi készülés órákra10
Felkészülés zárthelyire10
Házi feladat elkészítése12
Kijelölt írásos tananyag elsajátítása 
Vizsgafelkészülés 
Összesen60
15. A tantárgy tematikáját kidolgozta Dr. Bacsárdi László, docens, HIT
Dr. Imre Sándor, egyetemi tanár, HIT