SylabUZ

Generate PDF for this page

Advanced programming techniques - course description

General information
Course name Advanced programming techniques
Course ID 11.3-WE-INFD-ZTP
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Computer Science
Education profile academic
Level of studies Second-cycle studies leading to MSc degree
Beginning semester winter term 2022/2023
Course information
Semester 2
ECTS credits to win 5
Course type obligatory
Teaching language polish
Author of syllabus
  • dr hab. inż. Marek Sawerwain, prof. UZ
Classes forms
The class form Hours per semester (full-time) Hours per week (full-time) Hours per semester (part-time) Hours per week (part-time) Form of assignment
Lecture 15 1 9 0,6 Credit with grade
Laboratory 30 2 18 1,2 Credit with grade
Project 15 1 9 0,6 Credit with grade

Aim of the course

  • Zapoznanie studentów z wybranymi technikami zaawansowanego programowania wieloparadygmatowego, w modelu klasycznym oraz zaprezentowanie podstaw modelu kwantowego;
  • Omówienie wybranych technik jak np. prezentacja typów uogólnionych, programowanie reaktywne, model aktorów, mechanizm hot-swapping;
  • Prezentacja mechanizmu dopasowania wzorca i roli rekurencji oraz pojęcia procesu w języku Erlang;
  • Zaprezentowanie kwantowego modelu obliczeniowego, definicji qubitów, superpozycji i splątania kwantowomechanicznego jako nowych zasobów przetwarzania informacji;
  • Prezentacja wybranych algorytmów kwantowych i protokołów, w tym kwantowych protokołów kryptograficznych.

Prerequisites

Metody programowania, Algorytmy i struktury danych, Teoretyczne Podstawy Informatyki, Programowanie obiektowe

Scope

Prezentacja obecnie stosowanych paradygmatów programowania.
Podkreślenie roli paradygmatu funkcyjnego i logicznego (deklaratywnego).
Typy uogólnione, programowanie reaktywne, programowanie w logice za pomocą języka programowania Erlang. Prezentacja modelu aktorów.
Nowe modele obliczeniowe jako odpowiedź na złożoność wykładniczą.
Prezentacja pojęć kwantowego modelu obliczeniowego, qubitu, rejestru kwantowego, superpozycji oraz splątania. Operacje unitarne oraz pomiaru realizowane na rejestrze kwantowym.
Omówienie wybranych algorytmów i protokołów kwantowych oraz ich implementacja w postaci obwodów kwantowych.
Symulacje obliczeń kwantowych lub realizacja wybranych obwodów (protokołów) na dostępnych obecnie eksperymentalnych instalacjach obliczeń kwantowych.

Teaching methods

Wykład: wykład konwencjonalny/tradycyjny.
Laboratorium: ćwiczenia laboratoryjne, wg listy zadań.
Projekt: praca w grupach, metoda projektu.

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Wykład - warunkiem zaliczenia jest uzyskanie pozytywnej oceny ze sprawdzianu przeprowadzonego w formie pisemnej.
Laboratorium - warunkiem zaliczenia jest uzyskanie pozytywnych ocen ze wszystkich sprawdzianów pisemnych z ćwiczeń laboratoryjnych, przewidzianych do realizacji w
ramach programu laboratorium.
Projekt - warunkiem zaliczenia jest wykonanie wszystkich zadań projektowych, przewidzianych do realizacji w ramach zajęć projektowych oraz przygotowanie pisemnego
raportu ze zrealizowanego projektu.
Składowe oceny końcowej = wykład: 20% + laboratorium: 40% + projekt: 40%
 

Recommended reading

  1. Vladimir Silva, Practical Quantum Computing for Developers, Apress, 2018.
  2. John Watrous, The Theory of Quantum Information, Cambridge University Press, 2018.
  3. Simon St. Laurent: Introducing Erlang. Getting Started in Functional Programming. 2nd Edition, O'Reilly Media, 2017.
  4. Marek Sawerwain, Joanna Wiśniewska: Informatyka kwantowa. Wybrane obwody i algorytmy, PWN, Warszawa 2015.
  5. Max Bramer, Logic Programming with Prolog, Springer-Verlag London, 2013.
  6. Michael A. Nielsen, Isaac L. Chuang: Quantum Computation and Quantum Information: 10th Anniversary Edition,  Cambridge University Press, 2010.
  7. Francesco Cesarini, Simon Thompson: Erlang Programming, O'Reilly Media, 2009.
  8. Mika Hirvensalo: Algorytmy kwantowe,Wydawnictwa Szkolne i Pedagogiczne, Warszawa 2004.
  9. Krzysztof Giaro, Marcin Kamiński: Wprowadzenie do algorytmów kwantowych, Akademicka Oficyna Wydwnicza EXIT, Warszawa 2003.

Further reading

  1. Ingemar Bengtsson, Karol Życzkowski: Geometry of Quantum States: An Introduction to Quantum Entanglement, 2nd Edition, Cambridge University Press, 2017.
  2. Jacek Jurkowski: Korelacje Nieklasyczne. Kwantowe splątanie i dyskord, Wydawnictwo Naukowe Uniwersytetu Mikołaja Kopernika, Toruń 2014.
  3. Akira Furusawa, Peter van Loock: Quantum Teleportation and Entanglement: A Hybrid Approach to Optical Quantum Information Processing, Wiley, 2011.

Notes

--


Modified by dr hab. inż. Marek Sawerwain, prof. UZ (last modification: 19-04-2022 12:09)