Advanced Data Structures, RSA and Quantum Algorithms (Coursera)

Advanced Data Structures, RSA and Quantum Algorithms (Coursera)
Course Auditing
Categories
Effort
Certification
Languages
Completion of previous courses. Calculus, probability theory: distributions, expectations and moments. Some programming experience with Python.
Misc

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Advanced Data Structures, RSA and Quantum Algorithms (Coursera)
Introduces number-theory based cryptography, basics of quantum algorithms and advanced data-structures.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

This course can be taken for academic credit as part of CU Boulder’s Masters of Science in Computer Science (MS-CS) degrees offered on the Coursera platform. This fully accredited graduate degree offer targeted courses, short 8-week sessions, and pay-as-you-go tuition. Admission is based on performance in three preliminary courses, not academic history. CU degrees on Coursera are ideal for recent graduates or working professionals.

This course is part of the Foundations of Data Structures and Algorithms Specialization.


What you'll learn

- Explore how basic number-theoretic concepts are used to build the RSA crypto-system.

- Examine the foundations of quantum computation and its basic building blocks.

- Explore how quantum computers can be used to break the RSA cryptosystem.

- Explore the differences between classical and quantum algorithms.


Syllabus


RSA Public Key Cryptography and Basics of Quantum Computing

This module covers a brief recap of elementary number theory, GCD, Euclid's algorithm, Bezout coefficients and presents the RSA public key cryptosystem. It then shows how the security of RSA relies on the supposed hardness of the factoring problem for numbers that are semi-primes


Quantum Computing: Qubits, Quantum Gates and Grover's Search Algorithm

This module covers the basics of quantum computing with an introduction to qubits, the concept of a superposition, the effect of measuring a qubit, elementary quantum gates, direct/tensor products, entanglements, quantum parallelism and ends with a presentation of Grover's search algorithm. We will have a brief introduction to IBM qiskit package for exploring quantum circuits.


Quantum Computing: Phase Estimation and Shor's Algorithm

We will describe Shor's algorithm and as part of Shor's algorithm show how Quantum Fourier Transform (a very useful operation for quantum systems) is computed. We will show how the power of quantum parallelism combines with the divide-and-conquer paradigm for algorithm design to yield exponential speedups for computing Quantum Fourier Transforms.


B-Trees and Tries

We will learn two important and interesting data structures to round off this course. The first data structure will be the widely used B-Tree data structure which is used in indexing and storing large amounts of data on a disk. Next, we will study algorithms on strings esp. string search algorithm. We will study the suffix trie data structure: a very useful data structure for fast searching over strings.



MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Course Auditing
45.00 EUR/month
Completion of previous courses. Calculus, probability theory: distributions, expectations and moments. Some programming experience with Python.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.