Advanced Data Structures, RSA and Quantum Algorithms (Coursera)

Advanced Data Structures, RSA and Quantum Algorithms (Coursera)

Introduces number-theory based cryptography, basics of quantum algorithms and advanced data-structures.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

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.

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

Related Courses

Introduction to Python Programming (Coursera) Coursera
University of Pennsylvania

Introduction to Python Programming (Coursera)

This course provides an introduction to programming and the Python language. Students are introduced to core programming concepts like data structures, conditionals, loops, variables, and functions. This course includes an overview of the various tools available for writing and running Python, and gets students coding quickly. It also provides hands-on coding exercises using commonly used data structures, writing custom functions, and reading and writing to files.

Oct 26th 2026
4 Weeks
Segurança de TI: Defesa Contra as Artes Obscuras do Mundo Digital (Coursera) Coursera
Google

Segurança de TI: Defesa Contra as Artes Obscuras do Mundo Digital (Coursera)

Este curso aborda uma série de conceitos, ferramentas e práticas recomendadas de segurança de TI. Nele, temos uma introdução às ameaças e ataques e suas muitas formas de se manifestar. Daremos a você uma base de conhecimento sobre algoritmos de criptografia e como eles são usados para proteger dados. Depois, vamos estudar a fundo os três tipos de segurança da informação: autenticação, autorização e registro. Além disso, vamos abordar soluções de segurança de rede, de firewalls a opções de criptografia Wi-Fi.

Oct 26th 2026
5-12 Weeks
Web Connectivity and Security in Embedded Systems (Coursera) Coursera
EIT Digital

Web Connectivity and Security in Embedded Systems (Coursera)

In this course, we will explore several technologies that bring modern devices together, facilitating a network of connected things and making devices internet enabled. We will discuss rules, protocols, and standards for these devices to communicate with each other in the network. We will also go through security and privacy issues and challenges in cyber physical systems (CPS). We will explore measures and techniques for securing systems from different perspectives. Possible attack models are introduced and solutions to tackle such attacks are discussed. Moreover, some basic concepts related to privacy in cyber physical systems are presented.

Nov 9th 2026
5-12 Weeks
Python Scripting: Dates, Classes and Collections (Coursera) Coursera
LearnQuest

Python Scripting: Dates, Classes and Collections (Coursera)

This course is the second course in a series that aims to prepare you for a role working as a programmer. In this course, you will be introduced to the four main concepts in programming: Advanced String Operations and Dates, Modeling Classes, Development of Classes and Collections. Labs will allow the students to apply the material in the lectures in simple computer programs designed to re-enforce the material in the lesson.

Oct 26th 2026
4 Weeks
Introduction to Java and Object-Oriented Programming (Coursera) Coursera
University of Pennsylvania

Introduction to Java and Object-Oriented Programming (Coursera)

This course provides an introduction to the Java language and object-oriented programming, including an overview of Java syntax and how it differs from a language like Python. Students will learn how to write custom Java classes and methods, and how to test their code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.

Oct 26th 2026
3 Weeks
Blockchain Basics (Coursera) Coursera
University at Buffalo,The State University of New York

Blockchain Basics (Coursera)

This first course of the Blockchain specialization provides a broad overview of the essential concepts of blockchain technology – by initially exploring the Bitcoin protocol followed by the Ethereum protocol – to lay the foundation necessary for developing applications and programming. You will be equipped with the knowledge needed to create nodes on your personal Ethereum blockchain, create accounts, unlock accounts, mine, transact, transfer Ethers, and check balances.

Nov 9th 2026
4 Weeks
Cryptographic Hash and Integrity Protection (Coursera) Coursera
University of Colorado System

Cryptographic Hash and Integrity Protection (Coursera)

This course reviews cryptographic hash functions in general and their use in the forms of hash chain and hash tree (Merkle tree). Building on hash functions, the course describes message authentication focusing on message authentication code (MAC) based on symmetric keys. We then discuss digital signatures based on asymmetric cryptography, providing security properties such as non-repudiation which were unavailable in symmetric-cryptography-based message authentication.

Oct 26th 2026
4 Weeks
Cyber Attack Countermeasures (Coursera) Coursera
New York University

Cyber Attack Countermeasures (Coursera)

This course introduces the basics of cyber defense starting with foundational models such as Bell-LaPadula and information flow frameworks. These underlying policy enforcements mechanisms help introduce basic functional protections, starting with authentication methods. Learners will be introduced to a series of different authentication solutions and protocols, including RSA SecureID and Kerberos, in the context of a canonical schema.

Oct 26th 2026
4 Weeks
Cryptography and Information Theory (Coursera) Coursera
University of Colorado System

Cryptography and Information Theory (Coursera)

This course combines cryptography (the techniques for protecting information from unauthorized access) and information theory (the study of information coding and transfer). More specifically, the course studies cryptography from the information-theoretical perspectives and discuss the concepts such as entropy and the attacker knowledge capabilities, e.g., Kerckhoff's Principle. It also contrasts information-theoretic security and computational security to highlight the different train of thoughts that drive the cryptographic algorithmic construction and the security analyses.

Oct 26th 2026
4 Weeks
Algorithms, Part II (Coursera) Coursera
Princeton University

Algorithms, Part II (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 9th 2026
5-12 Weeks
Emergent Phenomena in Science and Everyday Life (Coursera) Coursera
University of California, Irvine

Emergent Phenomena in Science and Everyday Life (Coursera)

Before the advent of quantum mechanics in the early 20th century, most scientists believed that it should be possible to predict the behavior of any object in the universe simply by understanding the behavior of its constituent parts. For instance, if one could write down the equations of motion for every atom in a system, it should be possible to solve those equations (with the aid of a sufficiently large computing device) and make accurate predictions about that system’s future.

Nov 9th 2026
5-12 Weeks
Programming and Application Foundations (Coursera) Coursera
Illinois Tech

Programming and Application Foundations (Coursera)

This course introduces the students to the creation and deployment of modern, standards-compliant web pages written in HTML, CSS, and JavaScript in the context of the client-server architecture of the web. The course also covers the fundamentals of programming in a modern programming language, basic data modeling, database design, implementation, and administration of single-user and shared multi-user database applications using a contemporary relational database management system.

Nov 9th 2026
5-12 Weeks