SylabUZ

Generate PDF for this page

Advanced programming techniques - course description

General information
Course name Advanced programming techniques
Course ID 11.3-WE-INFD-APT-Er
Faculty Faculty of Computer Science, Electrical Engineering and Automatics
Field of study Computer Science
Education profile academic
Level of studies Second-cycle Erasmus programme
Beginning semester winter term 2022/2023
Course information
Semester 2
ECTS credits to win 4
Course type obligatory
Teaching language english
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 - - Credit with grade
Laboratory 30 2 - - Credit with grade
Project 15 1 - - Credit with grade

Aim of the course

  • familiarize students with information about advanced multi-paradigms programming techniques in classical computational models and presentation basic information about quantum computational model,
  • discussion of selected techniques such as generalized types, reactive programming, actor model and hot-swapping mechanism,
  • presenting a quantum computational model, definition of qubits, superposition and quantum entanglement as new information processing resources,
  • presentation of selected quantum algorithms and protocols, and especially quantum cryptographic protocols.

Prerequisites

Programming fundamentals, Algorithms and Data Structures, Theoretical Foundations of Computer Science, Object oriented programming

Scope

Review of contemporary programming paradigms.

The role of functional and declarative paradigms in modern programming techniques.

General types, reactive programming, logic programming with Erlang language. Presentation of actor model.

Proposition of new computational models to overcome of exponential complexity.

Quantum computational model, qubit, quantum register, superposition, entanglement. Unitary and measurement operations performed on quantum register.

Discussion of selected quantum algorithms and their implementation in the form of quantum circuits and programs for Q# language (in Visual Studio).

Simulations of quantum algorithms and implementation of selected circuits (protocols) on currently available experimental installations of quantum computational devices.

Teaching methods

Lecture: conventional lecture
Laboratory: laboratory exercises, group work
Project: project method, discussions and presentations

Learning outcomes and methods of theirs verification

Outcome description Outcome symbols Methods of verification The class form

Assignment conditions

Lecture - obtaining a positive grade in written exam. 
Laboratory - the main condition to get a pass are sufficient marks for all exercises and tests conducted during the semester.
Project - a condition of pass is to obtain positive marks from all project tasks and preparation written report of project.
Calculation of the final grade: = lecture 20% + laboratory 40% + project 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. Max Bramer, Logic Programming with Prolog, Springer-Verlag London, 2013.
  5. Michael A. Nielsen, Isaac L. Chuang: Quantum Computation and Quantum Information: 10th Anniversary Edition, Cambridge University Press, 2010.
  6. Francesco Cesarini, Simon Thompson: Erlang Programming, O'Reilly Media, 2009.
     

Further reading

  1. Ingemar Bengtsson, Karol Życzkowski: Geometry of Quantum States: An Introduction to Quantum Entanglement, 2nd Edition, Cambridge University Press, 2017.
  2. Akira Furusawa, Peter van Loock: Quantum Teleportation and Entanglement: A Hybrid Approach to Optical Quantum Information Processing, Wiley, 2011
     

Notes

-- no comments --


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